适配器模式

适配器模式:

  将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本不兼容的类可以一起工作。

类图:

角色:

-目标接口:Target 客户所期待的接口,目标可以是具体的或者抽象的类也可以是接口

-需要适配的类Adaptee:

-适配器 Adapter:通过包装一个需要适配的对象,把原接口转换成目标接口。

实例:

 1 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 }
View Code
 1 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 }
View Code

工作中的场景:

--经常用来做旧系统改造和升级
--如果我们的系统开发之后再也不需维护,那么很多模式都是没有必要的。

--InputStreamReader(InputStream)
--OutputStreamWriter(OutputStream)

原文地址:https://www.cnblogs.com/ilinuxer/p/4946008.html