我认为自己对GoF设计模式有中级知识水平。然而,当需要将这些模式分类为结构和行为模式时,我会感到困惑。我对创建型模式没有任何困惑。
来自维基百科-装饰器模式 - 在面向对象编程中,装饰器模式是一种设计模式,允许在不影响来自同一类的其他对象的情况下,静态或动态地向单个对象添加行为。
从上述定义可以清楚地看出这是关于行为的,那么
- 为什么装饰器是结构模式?
- 结构模式的标准是什么?
- 行为模式的标准是什么?
谢谢。
1. 装饰器模式被归类为结构模式,因为它通过组合对象来实现扩展功能,而不是通过继承来实现。这种组合提供了更大的灵活性,并允许在运行时动态地添加、删除或更改对象的行为。2. 结构模式的标准是它们专注于如何组成对象以形成更大的结构,并且通常涉及对象之间的静态关系。这些模式通常涉及组合、适配器、桥接、装饰器、外观、享元和代理。
3. 行为模式的标准是它们专注于对象之间的动态交互,并且通常涉及对象之间的协作和责任分配。这些模式通常涉及职责链、命令、解释器、迭代器、中介者、备忘录、观察者、状态、策略、模板方法和访问者。