意图:将类的接口转换为客户端期望的另一个接口。
- 解决类之间接口不兼容的问题;
- 为已有的类提供新的接口;
目标:对旧的不兼容的组件进行包装,在新系统中使用旧的组件。
图示如下:
Adaptee是现有的类;
ITarget是我们需要的新的接口;
Adapter继承自Adaptee类,并实现了ITarget接口。请注意:它的Request方法是通过调用Adaptee的SpecificRequest方法实现的。
举例:
Adaptee:
public class Consultant {
// 现有的类
private String name;
public Consultant(String name) {
this.name = na