您的位置:首页 > 编程语言 > Java开发

设计模式--适配器模式

2017-12-10 17:50 120 查看
适配器模式自己的理解哪有不对望多加指正:

适配器模式,讲一个类转化为另外一个类中间的中介就可以比喻为适配器,生活中也有很多的例子,比如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要经过编码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java设计模式