设计模式学习笔记---适配器模式adapter(Java版)
2015-03-02 19:53
856 查看
结构型模式(从程序的结构上实现松耦合,从而可以扩大整体的类结构,用来解决更大的问题。)
适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式。
适配器模式
一、场景
ps2 to usb 转接线
二、本质
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。
三、角色
目标接口:客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
适配器:通过包装一个需要适配的对象,把原接口转换成目标接口。
需要适配的类:需要适配的类或适配者类。
四、示例
方式一 :类适配器方式 -->继承方式
方式二:对象适配器方式 -->使用了组合的方式,跟被适配对象整合
经常应用于旧系统的改造与升级。
适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式。
适配器模式
一、场景
ps2 to usb 转接线
二、本质
将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的哪些类可以一起工作。
三、角色
目标接口:客户所期待的接口。目标可以是具体的或抽象的类,也可以是接口。
适配器:通过包装一个需要适配的对象,把原接口转换成目标接口。
需要适配的类:需要适配的类或适配者类。
四、示例
方式一 :类适配器方式 -->继承方式
package com.lgd.adapter; /** * 目标接口 相当于usb接口 * @author liguodong * */ public interface Target { void handleReq(); }
package com.lgd.adapter; /** * 适配器 相当于ps2 to usb 转接器 (类适配方式) * @author liguodong * */ public class Adapter1 extends Adaptee implements Target{ @Override public void handleReq() { // TODO Auto-generated method stub super.request(); } }
package com.lgd.adapter; /** * 被适配的类 相当于PS/2键盘 * @author liguodong * */ public class Adaptee { public void request() { System.out.println("可以完成客户请求的需要的功能,打字功能。"); } }
package com.lgd.adapter; /** * 客户端类 相当于笔记本-->只有USB接口 * @author liguodong * */ public class Client { public void test01(Target t) { t.handleReq(); } public static void main(String[] args) { Client client = new Client(); //Adaptee adaptee = new Adaptee();//被适配器 Target target = new Adapter1(); client.test01(target); } }
方式二:对象适配器方式 -->使用了组合的方式,跟被适配对象整合
package com.lgd.adapter; /** * 适配器 相当于ps2 to usb 转接器 (对象适配器方式使用了组合的方式,跟被适配对象整合) * @author liguodong * */ public class Adapter2 implements Target{ private Adaptee adaptee; @Override public void handleReq() { // TODO Auto-generated method stub adaptee.request(); } public Adapter2(Adaptee adaptee) { super(); this.adaptee = adaptee; } }
package com.lgd.adapter; /** * 客户端类 相当于笔记本-->只有USB接口 * @author liguodong * */ public class Client2 { public void test(Target t) { t.handleReq(); } public static void main(String[] args) { Client2 client = new Client2(); Adaptee adaptee = new Adaptee();//被适配器 Target target = new Adapter2(adaptee); client.test(target); } }
经常应用于旧系统的改造与升级。
相关文章推荐
- java学习笔记-设计模式7(适配器模式)
- java/android 设计模式学习笔记(6)---适配器模式
- 知了堂学习笔记--Java设计模式之适配器模式(转)
- 设计模式学习笔记十一:适配器模式(Adapter Pattern)
- 设计模式学习笔记(七)之适配器模式(Adapter)
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 设计模式学习笔记——适配器模式(Adapter Patten)
- 【设计模式学习笔记七】【结构型模式】【适配器模式(Adapter)】
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 设计模式学习笔记1 - Adapter(适配器模式)
- java设计模式学习笔记5 适配器模式几种实现方式
- 设计模式--学习笔记--适配器模式Adapter--基础篇
- java设计模式学习笔记--适配器模式
- 【知了堂学习笔记】_Java中设计模式之适配器模式的学习
- 步步为营 .NET 设计模式学习笔记 六、Adapter(适配器模式)
- 设计模式学习笔记(3)——适配器模式(Adapter Pattern)
- 设计模式学习笔记--设计模式在Java I/O中的应用(装饰模式和适配器模式)
- 设计模式学习笔记(七)之适配器模式(Adapter)
- java 设计模式学习笔记(13) - 适配器模式
- java设计模式学习笔记-适配器模式