标签:
GOF:将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
分类:(1)对象适配器模式:将要被适配的类对象放在适配器类中,然后使用该对象的方法。
(2)类适配器模式:适配器继承自已实现的类(一般多重继承)。
适配器模式就是用于包装不兼容的接口,使得该接口可以被使用在项目中。
对象适配器模式
类图:
PS.这里Target是我们需要的接口,Adaptee就是现有的一个不兼容接口,Adapter是包装Adaptee的适配器。
样板代码:
public class 迭代器模式 { public static void main(String[] args) { Target t = new Adapter(); t.Request(); } } interface Target { void Request(); } class Adaptee { public void SpecificRequest() { System.out.println("A specific request"); } } class Adapter implements Target { private Adaptee adaptee; public Adapter() { adaptee = new Adaptee(); } public void Request() { adaptee.SpecificRequest(); } }
类适配器模式:
类图:
代码样板:
public class 迭代器模式 { public static void main(String[] args) { Target t = new Adapter(); t.Request(); } } interface Target { void Request(); } class Adaptee { public void SpecificRequest() { System.out.println("A specific request"); } } class Adapter extends Adaptee implements Target { public void Request() { this.SpecificRequest(); } }
总结:适配器模式就是包装某个接口,使得该接口符合我们的试用标准。通常用于后期维护的阶段(这时不能重新设计类,需要适配),或者需要用其他组织的接口。
但是我们能统一接口就统一接口,不要盲目看见接口不统一就使用适配器模式。
标签:
原文地址:http://www.cnblogs.com/programmer-kaima/p/4415489.html