标签:
https://en.wikipedia.org/wiki/Adapter_pattern
It allows the interface of an existing class to be used as another interface.
It is often used to make existing classes work with others without modifying their source code.
应用场景:让一个已存在的类基于其他类正常工作,而且不需要修改他们的源码。
举例:笔记本电源适配器(Adapter),让笔记本(client)正常工作,使用交流电(Adaptee),不修改笔记本也不修改交流电。
uml 类图:
也就是:
Client类 有一个target 成员变量(最终向上转型,引用指向实现类Adapter的实例)
Target接口 有request() 方法
Adapter类 有一个 adaptee 成员变量
Adapter类 是Target接口 的实现类,实现request()方法,方法体中调用 Adaptee 类的specificRequest() 方法
总结:没有改变Client ,也没有改变 Adaptee 。
接口实现类摇身一变
标签:
原文地址:http://www.cnblogs.com/zno2/p/5732935.html