久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      php工廠方法模式的好處是什么

      PHP工廠方法模式的好處是:核心類只需要關(guān)注工廠類的接口,而具體的產(chǎn)品實例交給具體的工廠子類去創(chuàng)建。在該模式下,通過定義一個抽象的核心工廠類,并定義創(chuàng)建產(chǎn)品的接口,使創(chuàng)建具體產(chǎn)品實例的工作延遲到其工廠子類去完成。

      php工廠方法模式的好處是什么

      本文操作環(huán)境:Windows10系統(tǒng)、PHP7.1版、Dell G3電腦。

      php工廠方法模式的好處是什么

      此模式中,通過定義一個抽象的核心工廠類,并定義創(chuàng)建產(chǎn)品對象的接口,創(chuàng)建具體產(chǎn)品實例的工作延遲到其工廠子類去完成。

      這樣做的好處是核心類只關(guān)注工廠類的接口定義,而具體的產(chǎn)品實例交給具體的工廠子類去創(chuàng)建。當(dāng)系統(tǒng)需要新增一個產(chǎn)品,無需修改現(xiàn)有系統(tǒng)代碼,只需要添加一個具體產(chǎn)品類和其對應(yīng)的工廠子類,是系統(tǒng)的擴(kuò)展性變得很好,符合面向?qū)ο缶幊痰拈_閉原則。

      <?php interface Animal{   public function run();   public function say(); } class Cat implements Animal {   public function run(){       echo "I ran slowly <br>";   }   public function say(){       echo "I am Cat class <br>";   } } class Dog implements Animal {   public function run(){       echo "I'm running fast <br>";   }   public function say(){       echo "I am Dog class <br>";   } } 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();

        工廠方法模式是簡單工廠模式的進(jìn)一步抽象和推廣。由于使用了面向?qū)ο蟮亩鄳B(tài)性,工廠方法模式保持了簡單工廠模式的優(yōu)點,而且克服了它的缺點。在工廠方法模式中,核心的工廠類不再負(fù)責(zé)所有產(chǎn)品的創(chuàng)建,而是將具體創(chuàng)建工作交給子類去做。

      這個核心類僅僅負(fù)責(zé)給出具體工廠必須實現(xiàn)的接口,而不負(fù)責(zé)產(chǎn)品類被實例化這種細(xì)節(jié),這使得工廠方法模式可以允許系統(tǒng)在不修改工廠角色的情況下引進(jìn)新產(chǎn)品。

      推薦學(xué)習(xí):《PHP視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號