标签:
HeadFirst中的定义:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
适配器模式将一个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能在一起 工作的类可以在一起工作。
目标接口(Target):客户所期待的接口。目标可以是具体的或抽象的类也可以是接口。
需要适配的类(Adaptee):需要适配的类或适配者类。
适配器(Adapter):通过包装一个需要适配的对象,把原接口转换成目标对象。
使用场景:旧系统的改造和升级。
JavaIO中的转换流:java.io.InputStreamReader(InputStream)
java.io.OutputStreamReader(OutputStream)
Demo:
public class Adaptee {
public void request() {
System.out.println("满足了客户端的需求");
}
}
public interface Target {
void handleReq();
}
public class Adapter implements Target {
Adaptee adaptee = new Adaptee();
@Override
public void handleReq() {
adaptee.request();
}
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
}
public class Client {
public void linkReq(Target target) {
target.handleReq();
}
public static void main(String[] args) {
Adaptee adaptee = new Adaptee(); //客户需要的,被适配的对象
Target adapter = new Adapter(adaptee);//被适配的对象与适配器耦合
Client client = new Client();
client.linkReq(adapter);//客户端与适配器的接口耦合
}
}
标签:
原文地址:http://www.cnblogs.com/wxisme/p/4522632.html