新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
php工廠方法模式的好處是什么
本文操作環(huán)境:Windows10系統(tǒng)、php7.1版、Dell G3電腦。

此模式中,通過定義一個抽象的核心工廠類,并定義創(chuàng)建產(chǎn)品對象的接口,創(chuàng)建具體產(chǎn)品實例的工作延遲到其工廠子類去完成。
這樣做的好處是核心類只關(guān)注工廠類的接口定義,而具體的產(chǎn)品實例交給具體的工廠子類去創(chuàng)建。當系統(tǒng)需要新增一個產(chǎn)品,無需修改現(xiàn)有系統(tǒng)代碼,只需要添加一個具體產(chǎn)品類和其對應(yīng)的工廠子類,是系統(tǒng)的擴展性變得很好,符合面向?qū)ο缶幊痰拈_閉原則。
";
}
public function say(){
echo "I am Cat class
";
}
}
class Dog implements Animal
{
public function run(){
echo "I'm running fast
";
}
public function say(){
echo "I am Dog class
";
}
}
abstract class Factory{
abstract static function createAnimal();
}
class CatFactory extends Factory
{
public static function createAnimal()
{
return new Cat();
}
}
class DogFactory extends Factory
{
public static function createAnimal()
{
return new Dog();
}
}
$cat = CatFactory::createAnimal();
$cat->say();
$cat->run();
$dog = DogFactory::createAnimal();
$dog->say();
$dog->run();
工廠方法模式是簡單工廠模式的進一步抽象和推廣。由于使用了面向?qū)ο蟮亩鄳B(tài)性,工廠方法模式保持了簡單工廠模式的優(yōu)點,而且克服了它的缺點。在工廠方法模式中,核心的工廠類不再負責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建工作交給子類去做。
這個核心類僅僅負責(zé)給出具體工廠必須實現(xiàn)的接口,而不負責(zé)產(chǎn)品類被實例化這種細節(jié),這使得工廠方法模式可以允許系統(tǒng)在不修改工廠角色的情況下引進新產(chǎn)品。
分享題目:php工廠方法模式的好處是什么
文章鏈接:http://m.fisionsoft.com.cn/article/cochhgg.html


咨詢
建站咨詢
