结构体
类适配器使用多重继承来匹配一个接口与另一个接口,如下图所示。
类适配器是通过从适配的类继承来适配的。在这种情况下,适配类的实例和适配的目标类的实例是同一个对象。面向适配目标的操作将依次调用从适配类继承的实例本身的方法。
对象适配器依赖于对象组合,如下图所示。
对象适配器通过持有适配类的对象来适配。此时适配器有什么用,适配目标类的实例持有适配类的实例。面向适配对象的操作将依次调用适配类的方法。
参与者
• (形状)
– 定义使用的特定于域的接口。这可以看作是目标类的要求。
• ()
— 与符合接口的对象协作。适配器用户无特殊要求。
• ()
— 定义需要调整的现有接口。这句话可能值得商榷,因为那些需要适配的接口,不是看他们有什么适配器有什么用,而是看他们需要什么。
• ()
— 使接口适应接口。实际执行适配工作的类有两种方法:类适配和对象适配。
合作
• 在实例上调用一些操作。然后适配器调用操作来完成请求。
接口用户的请求被转发到。
作者观点
类适应和对象适应的区别,本质上就是 Has A 和 Is A 的较量。
笔记:
本文中的蓝色粗体文字引自《设计模式》一书。
文章来源:http://www.toutiao.com/a6631897869349552647/
感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
暂无评论内容