我想知道Command模式和Composite模式

时间:2015-11-12 08:15:09

标签: design-patterns composite command-pattern

我是计算机科学与工程系的研究生,但我​​的本科专业是工业和管理工程。所以我有时对软件工程很困惑。

通过GoF,在命令模式的章节中,与命令模式和复合模式的关系是复合模式可用于实现MacroCommands。

我想存储一堆命令,可以使用复合模式。

但我并没有准确理解。

我的教授教我关于设计模式,说 宏是一堆命令,也是一个命令。这意味着关系是复合模式。

我可能不确定我是否完全理解。

我想确保我理解正确,他的解释是正确的。

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

使用Composite模式表示一组命令或一个MacroCommand,允许命令通过统一接口使用它们的任何进程,而不管它们的底层类型如何。

是的,MacroCommand可以是一个Command本身,同时也是一个包含许多其他命令的Composite。假设使用具有Canvas.drawBitmap方法的ICommand接口,MacroCommand的Execute()方法将迭代Composite结构,调用每个节点{{1反过来。

This值得阅读,因为它描述了基于orignal Command模式构建的命令处理器模式。它提到了MacroCommand的概念及其对Composite模式的使用。