设计模式(S)命令或工厂哪个更好实现?

时间:2011-03-26 05:23:25

标签: design-patterns oop architectural-patterns

我们可以通过实现Factory和Command Pattern来解决一些设计问题。 那么,根据表现哪个更好?

2 个答案:

答案 0 :(得分:3)

我不确定如何通过工厂和命令模式解决一些问题。他们解决了完全不同类型的问题。

Abstract Factory以这样一种方式处理对象的创建,即您可以轻松地在产品系列之间切换,并且可以强制实现对象的一致性(即,不要意外混合不同的产品系列)。即使只有一个产品系列,它也会创建一个灵活的系统,使创建的对象更易于管理。

工厂方法将对象的创建推迟到子类,因为基类不知道要实例化哪个具体类。这里基类知道何时创建对象,但不知道要创建哪个具体对象。

And Command用于封装请求,以便您像处理其他对象一样处理请求,例如将请求作为参数传递给另一个方法/对象,队列请求,重用请求等。它不处理创造对象。

除非我非常错,否则它们是单独的模式,可以攻击不同的问题。您可以查看Design Patterns by GoFHead First Design Patters以了解有关这些模式的详细信息。

答案 1 :(得分:1)

鉴于有些情况都适用 - 而且没有人真正想到 - 我认为两者都不是“更好”;最好的解决方案取决于问题,整个系统,团队等。如果一个“更好”,那么另一个可以简单地丢弃!