适配器模式:
适配器模式(Adapter Pattern)是属于结构型类的设计模式,它的主要目的是将一个类的接口转换成客户端期望的另一个接口。用于统一兼容,使之可相互调用。
1 模式角色:
- 目标接口(Target):这是客户期待的接口,它定义了客户端需要调用的方法。
- 适配者(Adaptee):这是现有的接口,我们想要通过适配器将其功能与目标接口相匹配。
- 适配器(Adapter) :这个类实现了目标接口,并包含适配者对象的引用。适配器负责在内部调用适配者的具体方法,以满足目标接口的要求。
2 工作原理:
适配器模式通过包装一个已有类(适配者),使它符合新接口(目标接口)。在使用目标接口的地方就可以透明地使用适配器所包装的对象,即使该对象的原始接口与目标接口不完全一致。
3 示例代码:
适配器模式java代码:
java
// 目标接口
public interface Target {
void request();
}
// 适配者类
public class Adaptee {
public void specificRequest() {
System.out.println("xxx");
}
}
// 适配器类
public class Adapter implements Target {
private Adaptee adaptee;
public Adapter(Adaptee adaptee) {
this.adaptee = adaptee;
}
@Override
public void request() {
// 在这里调用适配者的方法,使其符合目标接口
adaptee.specificRequest();
}
}
// 客户端代码
public class Client {
public static void main(String[] args) {
Adaptee adaptee = new Adaptee();
Target target = new Adapter(adaptee);
target.request();
}
}
4 适用场景:
- 当系统需要使用现有类库中的某些类,但这些类的接口不符合系统的接口规范时。
- 在多个类之间存在接口不兼容,需要统一接口进行交互时。
- 当希望将第三方组件或遗留代码与新系统集成时,可以通过适配器模式来实现无缝对接。