命令模式与简单工厂之间的区别

Difference between Command Pattern vs Simple Factory

我正在阅读关于 Head First Design Patterns 的书,并且仍在尝试理解简单工厂和命令模式之间的明显区别。

在我看来,它们是相同的——在某种意义上,它们封装了方法的调用。

简单工厂和命令之间的唯一区别是简单工厂处理对象创建而命令模式处理行为吗?

所以,如果行为是关于创建对象 - 是不是一样?

(请不要将此标记为重复,因为我试图在这两者之间弄清楚!)

这两种模式的职责截然不同。一种是负责创建某种类型实例的构造模式。另一个是行为的,定义了需要执行的某个动作。

在某种程度上你是对的,构建一些东西也是一种动作(行为)。因此,您可以说构造是行为模式涵盖的所有可能行为中的一种行为。但这并没有在命令和工厂之间放置相等的标志:)它只是意味着定义某物构造的特定行为被委托在它自己的 class 名为 Constructional 的模式中。