适配器模式
2018-03-03 12:25
281 查看
适配器模式:
将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本不兼容的类可以一起工作。类图:
角色:
-目标接口:Target 客户所期待的接口,目标可以是具体的或者抽象的类也可以是接口-需要适配的类Adaptee:
-适配器 Adapter:通过包装一个需要适配的对象,把原接口转换成目标接口。
实例:
package adapter;
2
3 public interface ITarget {
4 void handleReq();
5 }
6
7 package adapter;
8
9 /**
10 * 被适配的类
11 * (相当于例子中的,PS/2键盘)
12 * @author Administrator
13 *
14 */
15 public class Adaptee {
16 public void request(){
17 System.out.println("可以完成客户请求的需要的功能!");
18 }
19 }
20
21 package adapter;
22
23 /**
24 * 适配器 (类适配器方式)
25 * (相当于usb和ps/2的转接器)
26 * @author Administrator
27 *
28 */
29 public class Adapter extends Adaptee implements ITarget {
30
31 @Override
32 public void handleReq() {
33 // TODO Auto-generated method stub
34 super.request();
35 }
36
37 }
package adapter; 2 3 public class Client { 4 5 public void test1(ITarget t){ 6 t.handleReq(); 7 } 8 public static void main(String[] args) { 9 // TODO Auto-generated method stub 10 Client client = new Client(); 11 Adaptee adaptee = new Adaptee(); 12 ITarget target = new Adapter2(adaptee); 13 client.test1(target); 14 } 15 16 }
工作中的场景:
--经常用来做旧系统改造和升级--如果我们的系统开发之后再也不需维护,那么很多模式都是没有必要的。
--InputStreamReader(InputStream)
--OutputStreamWriter(OutputStream)
相关文章推荐
- 设计模式:适配器模式
- 大话设计模式C++实现-第17章-适配器模式
- 适配器模式案例
- 适配器模式C++实现
- learning之适配器模式
- 设计模式——适配器模式
- 适配器模式Demo
- 设计模式之禅笔记-适配器模式
- 设计模式-适配器模式-adapter-python
- Java Adapter 适配器模式
- Java设计模式之适配器模式(Adapter)
- 再起航,我的学习笔记之JavaScript设计模式12(适配器模式)
- Android设计模式之(18)----适配器模式
- java设计模式-适配器模式
- 设计模式_适配器模式(9)
- 结构型模式之适配器模式
- Servlet使用适配器模式进行增删改查案例(Emp.java)
- 通过例子学设计模式之--适配器模式以及使用场景说明(C++实现)
- Java Adapter Pattern(适配器模式)
- Java基础 WindowAdapter 用了适配器模式