工廠模式(factory pattern)是我們最常用的實例化物件模式了,是用工廠方法取代new操作的一種模式。著名的Jive論壇 ,就大量使用了工廠模式,工廠模式在Java程式系統可以說是隨處可見。因為工廠模式就等於是建立實例物件的new,我們常常要根據類別Class產生實例對象,如A a=new A()。
工廠模式也是用來創建實例物件的,所以以後new時就要多個心眼,是否可以考慮使用工廠模式,雖然這樣做,可能多做一些工作,但會給你係統帶來更大的可擴展性和盡量少的修改量。
<?php //汽车类 class car{ public function run(){ echo 'car run .....'; } } class bus{ public function run(){ echo 'bus run .....'; } } //创建一个汽车工厂类用于生产汽车对象 class carFactory{ public static function getACar($type){ if($type == 'car'){ return new car(); }else{ return new bus(); } } } //调用演示 $car = carFactory::getACar('bus'); $car->run();
隨著項目的深入,bus類和car類可能還會"生出很多兒子出來", 那麼我們要對這些兒子一個個實例化,更糟糕的是,可能還要對以前的程式碼進行修改,例如修改了car的類別名稱或檔案名稱或為car或bus設定了建構函數,如果我們不使用工程模式我們將需要修改對應的呼叫檔案及程式碼(忘記了怎麼吧出現bug!!) 。
但如果你一開始就有意識使用了工廠模式,這些麻煩就沒有了。
以上是工廠模式是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!