设计模式--适配器模式

适配器模式自己的理解哪有不对望多加指正:

适配器模式,讲一个类转化为另外一个类中间的中介就可以比喻为适配器,生活中也有很多的例子,比如USB转接口等等

下面以下图为例进行理解:


Target 是目标接口,相当于一个标准告诉兄弟们大家都按这个走不要跑偏哦,

Adapter 是适配器,

Adaptee是被适配对象,

适配器持有被适配对象的引用,在方法内部就可以进行调用被适配对象的方法了,适配器实现了目标接口,在客户端类中只需要访问目标接口进行了

1:创建目标接口:Target

public interface Target{
      public void Adapter();
}
2:创建被适配器类:

public class Adaptee{

public void test(){
          System.out.pritnln("I can finsh some work");
}
}
3:创建适配器类:

public class Adapter implements Target{
      private Adaptee a; 
      bublic Adapter(Adaptee a){
          this.a = a;
}
      public void Adapter(){
      a.test();
}
}
4:创建客户端类:

public class Client{
         public void test(Targer t){
         t.Adapter();
}
        public static void main(String[] args){
          Client c  = new Client();
          Adaptee a = new Adaptee();
          Target t = new Adapter(a);
          c.test(t);
}
}

在jdk中实现的适配器模式最知名的就应该是InputStremReader和OutputStreamWriter了

让我们看看它是怎么实现的:



这里的适配器就是InputSreamReader了,将输入的字节流转换为字符流,被适配对象是InputStream了,目标对象是Reader
InputStreamReader实现了Read抽象类,并且持有了InputStream的引用,这里是通过StreamDecoder类间接的持有,因为从byte到char要经过编码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值