0
我從其他類層次結構建立了一個班,我創造了一大堆,看起來比類名我正在學習設計模式。你能幫我設計這個班的工廠模式嗎?
例如
class Class1 extends BaseClass
{
public function __construct()
{
parent::__construct();
}
}
class Class2 extends BaseClass
{
public function __construct()
{
parent::__construct();
}
}
class Class3 extends BaseClass
{
public function __construct()
{
parent::__construct();
}
}
相同的其他相同類的,但我知道(希望),我可以使用工廠模式創建Class [1-3],只需傳遞一個類名稱並讓工廠返回這些類中的一個。這將需要更少的代碼,因此更易於維護。另外,建議你將如何實施,如果說我想這樣做:
class Class4 extends AnotherBaseClass
{
public function __construct()
{
parent::__construct();
}
}
注意,class 4擴展另一個基類,但它比的一小段信息是AnotherBaseClass持有完全相同的其他。
現在我想這樣的事情(我的想法是模糊的,不完整的,在這一點上):
//這裏我把重複的代碼
class Skeleton extends BaseClass
{
public function __construct()
{
parent::__construct();
}
}
class ClassFactory
{
public function __construct($className , $classType)
{
<pseudocode>
Class5 = new $className
???and some how make $className extend $classType ???
return class5
</pseudocode>
}
}
是工廠模式的正確回答?
乾杯!
「我創建了一堆類似於類名以外的類」 - 永遠不要這樣做。 – smartcaveman 2011-03-20 05:07:43