适配器模式
一、定义
将一个类的接口转换为客户端所期待的另一个接口,从而使原本因接口不匹配的多个类能一起工作。
二、类图表示
三、实现
1、Adaptee
package pattern.structual.adapter;
/**
* 被适配者(受改造者)
*/
public class Adaptee {
public void specificRequest(){
System.out.println("called specificRequest()...");
}
}
2、Adapter
package pattern.structual.adapter;
public interface Target {
public void request();
}
package pattern.structual.adapter;
public class Adapter implements Target{
private Adaptee adaptee = new Adaptee();
@Override
public void request() {
System.out.println("do something...");
adaptee.specificRequest();
}
}
四、使用
package pattern.structual.adapter;
public class Client {
public static void main(String[] args) {
Target target = new Adapter();
target.request();
}
}
- 程序输出:
do something...
called specificRequest()...
五、适用场合
- 想使用一个已经存在的类,但它的接口不符合需求时
- 想创建一个可以复用的类,使它与那些接口不一定兼容的类协同工作
- 系统需要升级或扩展,又不想影响原有系统的稳定运行