适配器模式:将原本两个不兼容的类通过适配器使之相兼容;
生活中的例子:中国的水管连接外国的水龙头,中间需要进行一些配置等工具,这个工具就是适配器;
比如2008年中国奥运会的举行,把中文翻译成英语等多种语言以供多全世界的国家都能够相互进行友好文化交流;
jdk实现:
http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns
http://yan578351314.javaeye.com/blog/969553
适配器分类:适配器分为类适配器和对象适配器两种;
类适配器:就是实现所以进行所要进行适配的那个类,这样不利于代码的优化,会造成接口污染(即子类继承父类多余的方法);
对象适配器:就是直接new所要适配的那个对象,大多数使用此适配器,因为对象优与组合;
解决问题:解决了不兼容的两个类直接的兼容性;
好处:增强了扩展性;
结构实现如下:
//美国的水龙头
public class USAtap {
public void add(int i,int j){
System.out.println("USAtap.add()==美国的水龙头");
}
}
//连接中国水管与美国水龙头的适配器类
public class ChinaPipe {
public void test() {
System.out.println("ChinaPipe.test()==中国的水管");
//属于对象适配器
new USAtap().add(1, 1);
}
}
//客户端的调用
public class Client{
public static void main(String[] args) {
ChinaPipe pipe = new ChinaPipe();
pipe.test();
}
}