zac*_*ack 15 design-patterns facade decorator adapter wrapper
我找到了一篇旧帖子,但没有说明我对Wrapper Classes使用的设计模式的理解,而且,从维基百科阅读时我没有得到任何明确的信息.
包装类是否真的使用任何设计模式?
如果使用模式,那么其模式是它的这些:Decorator Pattern,Facade Pattern或Adapter Pattern?
包装类使用组合。与流行格言中的组合相同,“优先考虑组合而不是继承。 ”组合不是一种设计模式;而是一种设计模式。然而,大多数面向对象设计模式都使用组合作为其实现的一部分。这是许多人难以区分不同设计模式的原因之一:构图的共同使用使它们在某种程度上看起来相同。
作曲关系有两个基本部分:作曲者和被作曲者。您通常可以将其视为部分/整体关系。它可以是一对一或一对多。包装器是作曲家,即它是整体。它可以包裹一个或多个组成的部分。
许多不同的设计模式利用通用组合关系来达到不同的目的。许多这些不同的模式统称为“包装器”。GoF 书中至少提到了两种这样的模式。
ADAPTER Also Known As Wrapper第139页DECORATOR Also Known As Wrapper第 175 页
综上所述,Wrapper不是任何单一的设计模式;相反,它是设计模式的一个类别。顺便说一句,我们在Factory一词上看到了同样的动态。不存在名为 Factory 的单一设计模式;相反,它是设计模式的一个类别。
所有这三种设计模式都描述了一个包装器:
| 归档时间: |
|
| 查看次数: |
4424 次 |
| 最近记录: |