适配器模式
将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
优点:
1、适配器可以让两个没有关系的类在一起运行;
2、增加了类的透明性;
3、提高了类的复用度;
4、灵活性非常好;
使用场景:
有动机修改一个已经投产中的接口时,就可以使用适配器模式
注意:
设计阶段不要考虑,它不是为了解决还处在开发阶段的问题,而是解决正在服役的项目问题,主要使用在扩展应用场景中。
//目标角色
public interface Target {
public void request();
}
public class ConcreteTarget implements Target {
@Override
public void request() {
System.out.println("需要帮助请呼我");
}
}
//源角色
public class Adaptee {
public void doSomething(){
System.out.println("我有点忙,别理我");
}
}
//适配器角色
public class Adapter extends Adaptee implements Target {
@Override
public void request() {
super.doSomething();
}
}
public class Client {
public static void main(String[] args) {
//原有的业务逻辑
Target target = new ConcreteTarget();
target.request();
//加了适配器以后的业务逻辑
Target target2 = new Adapter();
target2.request();
}
}