为什么装饰器是结构而非行为设计模式?

时间:2013-04-09 15:48:22

标签: design-patterns conceptual

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

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

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

  1. 为什么装饰者是结构模式?
  2. 结构模式的标准是什么?
  3. 行为模式的标准是什么?
  4. 感谢。

2 个答案:

答案 0 :(得分:6)

行为模式是关于单独对象之间的通信:诸如中介,观察者,责任链(甚至是访客,其被描述为“将算法与其操作的对象结构分离”)之类的事物。它们指定了单独对象的交互方式。

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

答案 1 :(得分:0)

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