我搜索的越多,我就越困惑。工厂设计模式是抽象工厂和工厂方法的超类吗?或者它是静态工厂的另一个名称?
答案 0 :(得分:0)
所以减少混乱:
Factory Method和Abstract Factory是两种不同的唯一命名设计模式。唯一名称对于从另一个名称识别它们很重要。它们都属于对象创建设计模式类别(或类)。在创建设计模式的同时,它们是针对非常不同的对象创建相关问题的解决方案。
名称“工厂设计模式”或“静态工厂”通常不用于表示独特的设计模式。通常,术语“工厂”用于指代创建对象的任何东西(所以你可以谈论工厂类,工厂对象,工厂方法等等,但要清楚地知道有一个名为“工厂方法”的独特设计模式同样)。
此外,术语“静态工厂”可以公开用于谈论具有对象创造责任的静态方法的类,即使该名称不存在广泛接受的唯一模式。
没有权限为设计模式指定名称。只有一些设计模式变得流行,然后他们的名字被广泛用于引用它们。
不受欢迎的设计模式可能仍然使用名称,但其他人可能在不知不觉中使用相同的名称来引用不同的东西。因此,“工厂设计模式”和“静态工厂”的名称仍然可供公众使用,直到有人将其注册为商标:)