标签:
定义:将一个类的接口变换成客户端所期待的另一个接口,从而使原本因为接口不匹配而无法在一起工作的两个类能够在一起工作
类图:(类适配器)
Traget目标角色
该角色定义把其他类型转换为期望的接口
Adaptee源角色
已经存在的、运行良好的类或对象,经过适配角色的包装
Adapter适配角色
把源角色转换为目标角色
代码:
public interface Target { public void request(); }
public class Adaptee { public void doSomething(){ System.out.println(""); } }
public class Adapter extends Adaptee implements Target{ @Override public void request() { super.doSomething(); } }
public class ConcreteTarget implements Target{ @Override public void request() { // TODO Auto-generated method stub } }
public class Client { public static void main(String[] args){ Target target = new ConcreteTarget(); target.request(); Target target1 = new Adapter(); target1.request(); } }
适配器模式可以让两个没有任何关系的类在一起运行,只要适配器这个角色能够搞定
增加了类的透明性
提高了类的复用性
灵活性好
使用场景
你的动机是修改一个已经投产中的接口时,适配器模式可能最适合,
扩展:
对象适配器:如果我们有多个Adaptee,要把他他们组合到一起,可以使用这种方式,将各个Adaptee组合到Adapter中。
类图:
标签:
原文地址:http://blog.csdn.net/renpengddxx/article/details/52122732