适配器
适配器设计模式分为类适配器和对象适配器模式
为什么要使用类适配器设计模式尼,因为再一个接口的功能不能满足用户的需求的时候,就需要进行拓展,如果再对接口中拓展的话,就会违背了(ISP)接⼝口分离原则,所以需要再写其他的类进行现有功能进行拓展。
应用场景:就是现有的接口已经不能满足需要,需要进行拓展功能。
类适配器设计模式:
就是再创建适配器的时候除了实现本接口或者类之外,还要实现所需功能的类,然后再原类或者接口中使用其他类所需要的功能,大概就是这样的思想。
对象适配器模式:
实现被接口之后,需要使用其他类的功能的时候,这时候可以定义一个引用,记住要被改写类的实例。然后再构造方法中注入要被改写类的实例。
接着就可以对类进行改写。
类适配器模式源代码示例
public interface Room { void room(); }
public class Desk { public void desk(){ System.out.println("房子里面添加桌子"); } }
public class Adapter extends Desk implements Room { @Override public void room() { super.desk(); } }
public class Client { public static void main(String[] args) { Room room=new Adapter(); room.room(); } }
对象配器模式源代码示例
public interface Room { void room(); }
public class Desk { public void desk(){ System.out.println("房子里面添加桌子"); } }
public class Adapter implements Room { private Desk desk; public Adapter( Desk desk){ //注入要引用的对象 this.desk=desk; } @Override public void room() { desk.desk(); } }
public class Client { public static void main(String[] args) { Room room=new Adapter(new Desk()); room.room(); } }