结构类适配器使用多重(2)接口与另一个接口

图片[1]-结构类适配器使用多重(2)接口与另一个接口-4747i站长资讯

结构体

类适配器使用多重继承来匹配一个接口与另一个接口,如下图所示。

类适配器是通过从适配的类继承来适配的。在这种情况下,适配类的实例和适配的目标类的实例是同一个对象。面向适配目标的操作将依次调用从适配类继承的实例本身的方法。

图片[2]-结构类适配器使用多重(2)接口与另一个接口-4747i站长资讯

对象适配器依赖于对象组合,如下图所示。

对象适配器通过持有适配类的对象来适配。此时适配器有什么用,适配目标类的实例持有适配类的实例。面向适配对象的操作将依次调用适配类的方法。

图片[3]-结构类适配器使用多重(2)接口与另一个接口-4747i站长资讯

参与者

• (形状)

– 定义使用的特定于域的接口。这可以看作是目标类的要求。

• ()

图片[4]-结构类适配器使用多重(2)接口与另一个接口-4747i站长资讯

— 与符合接口的对象协作。适配器用户无特殊要求。

• ()

— 定义需要调整的现有接口。这句话可能值得商榷,因为那些需要适配的接口,不是看他们有什么适配器有什么用,而是看他们需要什么。

• ()

— 使接口适应接口。实际执行适配工作的类有两种方法:类适配和对象适配。

合作

• 在实例上调用一些操作。然后适配器调用操作来完成请求。

接口用户的请求被转发到。

作者观点

类适应和对象适应的区别,本质上就是 Has A 和 Is A 的较量。

笔记:

本文中的蓝色粗体文字引自《设计模式》一书。

文章来源:http://www.toutiao.com/a6631897869349552647/

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享