适配器模式
适配器模式的定义:
将一个类的接口变换成为客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类可以在一起工作。
采用适配模式的目的是将先有的旧接口转换成新的刻画短接口,我们的目标是尽可能多地重用原来已经测试过的代码,并且可以对新接口自由地进行修改。
适配器的三个角色:
- Target 目标角色:该角色定义要转换成的目标接口
- Adaptee 源角色: 需要被转换的就的接口
- Adapter 适配器角色: 通过继承Target
适配器的简单示例
Target 角色
public interface Target {
public void doNewFunction();
}
Adaptee 角色
public class Adaptee {
public void doFunction(){
System.out.println("The Adaptee is using doFuntion function");
}
}
Adapter 角色
public class Adapter extends Adaptee implements Target {
@Override
public void doNewFunction() {
System.out.println("Start DoingFunction");
super.doFunction();
System.out.println("End DoingFunction");
}
}
适配器模式的优点和使用场景
优点:
- 适配器可以让两个没有任何关系的类在一起运行
- 增加了类的透明性
- 提高了类的复用度
- 提高代码的灵活性
使用场景:
- 在投产的系统中,对原有的类进行改造,使其适应新的接口