一些设计模式具有相似的结构,但意图不同。例:
- 装饰器:向对象添加新职责。
- 代理:控制对对象的访问。
- 适配器:更改对象的接口。
不同的意图,但是这三个可以看作是对象包装器。
这在设计模式中经常发生。类似的构造会代表非常不同的意图和命名约定。
实际上,如果您考虑一下,GoF书中每个模式的第一部分就是“意图”,并且每个模式都有一个“相关模式”部分,因为它们之间有相似之处。
永远不要通过其形状来判断模式,结构过于高,必须检查其看行为,这就是为什么静态设计图表会失败的原因。
我认为,模式的最重要部分是其意图。这是真正帮助我们区分模式并使它们强大的功能。
补充,外观模式:将一个或多个接口隐藏在一个通用,更清晰且合适的接口后面