【问题标题】:I would like to know the relationship between Command pattern and Composite pattern我想知道命令模式和复合模式之间的关系
【发布时间】:2015-11-12 08:15:08
【问题描述】:
我是计算机科学与工程系的研究生,但我的本科专业是工业与管理工程。所以我有时对软件工程感到困惑。
GoF在命令模式的章节中,命令模式和复合模式的关系是复合模式可以用来实现宏命令。
我认为存储一堆命令,可以使用复合模式。
但我没有准确理解。
教我设计模式的教授说宏是一堆命令,也是一个命令。这意味着关系是复合模式。
我可能不确定我是否完全理解。
我想确保我理解正确,他的解释是正确的。
提前感谢您的帮助。
【问题讨论】:
标签:
design-patterns
composite
command-pattern
【解决方案1】:
使用复合模式来表示一组命令或宏命令,允许任何处理命令通过统一接口使用它们,而不管它们的底层类型如何。
是的,MacroCommand 可以是命令本身,同时也是包含许多其他命令的组合。假设使用具有Execute() 方法的ICommand 接口,MacroCommand 的Execute() 方法将遍历复合结构,依次调用每个节点的Execute() 方法。
This 值得一读,因为它描述了基于原始命令模式的命令处理器模式。它提到了 MacroCommand 的概念及其对 Composite 模式的使用。