设计模式-结构型模式-适配器模式
适配器模式
把一个类的接口转换成客户端所期待的另一种接口,从而使原接口不匹配而无法在一起工作的两个类能在一起工作
功能类似但是接口不同这时就可以使用适配器,一般情况下在前期第一时间考虑通过重构统一接口。比如在使用第三方开发组件的时候,自己的系统接口与组件接口不同,不用为了迎合去改自己的接口可以使用适配器模式。
Target类目标接口客户端可识别,Adaptee需要适配的类,Adapter适配器类
//类适配器
class Adaptee{
public void sepcialMethod(){
System.out.println("yyx!");
}
}
interface Target(){
public void normalMethod();
}
class actualTarget implements Target(){
public void normalMethod(){
System.out.println("yyx");
}
}
class Adapter extends Adaptee implements Target(){
public void normalMethod(){
super.sepcialMethod();
}
}
//对象适配器
class Adapter implements Target(){
private Adaptee adaptee;
public Adapter(Adaptee adaptee){
this.adaptee = adaptee;
}
poublic void normalMethod(){
this.adaptee.sepecialMethod();
}
}
JAVAIO中有许多用到了对象适配器
InputSreamReader是适配器类 StreamDecoder(传入InputStream,这个类将InputStream从字节流变成了字符流)是适配者 Reader是目标类 将InputStream和Reader适配。
StringReader是适配器类 String是适配者 Reader是目标类 将String和Reader适配。

浙公网安备 33010602011771号