11

我认为自己对 GoF 设计模式有中级知识。但是,在将这些模式分类为结构模式和行为模式时,我感到困惑。我对创建模式没有任何困惑。

来自维基百科 - 装饰器模式 -在面向对象的编程中,装饰器模式是一种设计模式,它允许将行为静态或动态添加到单个对象,而不会影响同一类中其他对象的行为。

从上面的定义可以清楚地看出它是关于行为的,那么

  1. 为什么装饰器是结构模式?
  2. 结构模式的标准是什么?
  3. 行为模式的标准是什么?

谢谢。

4

2 回答 2

13

行为模式是关于不同对象之间的通信:诸如调解者、观察者、责任链(甚至访问者,这被描述为“将算法与其操作的对象结构分离”)。它们指定单独的对象如何交互。

结构模式是关于组合和分层抽象的方法,它们是适配器、桥接和组合之类的东西。装饰器是一种组合功能的技术,因此它与结构模式一致。

于 2013-04-09T16:21:51.537 回答
2

如果您在报价方面需要答案:行为的变化是由于结构修改。
即你“装饰”一个对象(通过你的类的特定结构)来实现所需的行为(通过委托)

于 2013-04-09T15:52:19.080 回答