因此,谈到工厂的主题,我想知道它们是如何设置的。
从我的角度来看,我可以看到三种类型的工厂:
全能型
一家工厂基本上包含了应用程序中使用的所有类。感觉就像只是为了有一个工厂而设立的工厂,并没有真正的结构化。
例如 (其中ClassA、ClassB和ClassC除了在同一个应用中外没有任何共同之处):
class Factory
{
public static function buildClassA()
public static function buildClassB()
public static function buildClassC()
}
提供的代码示例是PHP语言。但是,这个问题与编程语言无关。
内置工厂
下一个是将静态函数与常规函数混合在一起,以创建特殊的创建模式(参见此问题)。
示例:
class ClassA
{
public static function buildClass()
public function __construct()
}
工厂旁边
我想到的最后一个是为单个类或单个类集合建立一个工厂。这似乎太不确定,不能以统一的方式使用。
例如(其中ClassA、B和C相关,1、2和3相关):
class FactoryAlpha
{
public static function buildClassA()
public static function buildClassB()
public static function buildClassC()
}
class FactoryNumeric
{
public static function buildClass1()
public static function buildClass2()
public static function buildClass3()
}
我的问题是:这些都是坏主意吗?有没有其他创建工厂的方法?这些中有哪些是真正的好主意?那么,创建工厂的好/最佳方式是什么?