工厂方法设计模式中的工厂设计模式与目标c中的抽象工厂有什么区别?

时间:2014-06-06 05:20:18

标签: objective-c oop design-patterns

我搜索的越多,我就越困惑。工厂设计模式是抽象工厂和工厂方法的超类吗?或者它是静态工厂的另一个名称?

1 个答案:

答案 0 :(得分:0)

所以减少混乱:

Factory Method和Abstract Factory是两种不同的唯一命名设计模式。唯一名称对于从另一个名称识别它们很重要。它们都属于对象创建设计模式类别(或类)。在创建设计模式的同时,它们是针对非常不同的对象创建相关问题的解决方案。

名称“工厂设计模式”或“静态工厂”通常不用于表示独特的设计模式。通常,术语“工厂”用于指代创建对象的任何东西(所以你可以谈论工厂类,工厂对象,工厂方法等等,但要清楚地知道有一个名为“工厂方法”的独特设计模式同样)。

此外,术语“静态工厂”可以公开用于谈论具有对象创造责任的静态方法的类,即使该名称不存在广泛接受的唯一模式。

没有权限为设计模式指定名称。只有一些设计模式变得流行,然后他们的名字被广泛用于引用它们。

不受欢迎的设计模式可能仍然使用名称,但其他人可能在不知不觉中使用相同的名称来引用不同的东西。因此,“工厂设计模式”和“静态工厂”的名称仍然可供公众使用,直到有人将其注册为商标:)