Loading

适配器模式

1.设计模式六个原则

  • 单一职责
  • 里式替换
  • 依赖倒置
  • 接口隔离
  • 迪米特法则
  • 开闭原则

2.适配器模式的概念

假设现在你手里有个接口A:

public interface A{
    void printA();
}

张三手里有个接口B和实现类BB:

public interface B{
	void printB();
}
public class BB implements B{
	public void printB(){
    	//out BB
    }
}

现在你想使用张三的接口B中的方法printB,但是在使用的地方只允许你传递接口A类型的对象,此时便可以使用适配器模式

重新创建一个类实现A:

public class AA implements A{
	private B b;
    public AA(B b){this.b = b}
    public void printA(){
    	b.printB();
    }
}

此类中唯一的区别是持有了B类型的对象,当创建AA对象时必须传入B类型的对象,那么在使用AA对象的printA时就会输出BB

2.角色

上例中A接口被称为目标接口,B接口被称为Adaptee,AA类称为Adaptor,即为适配器类,通过AA中持有的B类型对象,可以将B对象中的所有方法都适配到A接口的方法中

这样需要为每个adaptee提供一个适配器类,当项目中的适配器类过多时需要重构项目

posted @ 2021-02-25 18:02  luffysk  阅读(46)  评论(0)    收藏  举报