工廠模式 是一種類,它具有為您建立物件的某些方法。您可以使用工廠類建立物件,而不直接使用new
。這樣,如果您想要更改是所建立的物件型別,只需更改該工廠即可。使用該工廠的所有**會自動更改。
比方說我們在**上給使用者制定一些任務讓使用者完成,不同的任務我們會建立不同的類,當使用者完成某個任務的時候,會給使用者一些對應的獎勵,這個時候如果我們任務的型別比較多,那麼我們可以採用工廠模式:
<?php
//說明這裡要引入對應的檔案
class task_factory
//建立類的動作,定義為靜態
public static function factory($tclass)
if(!isset(self::$_obj->_arrclass[$tclass]))else
$ret = new $strclassname();
//這裡task_base_abstract是乙個任務類的抽象類,定義了一些任務共有方法
//比方說任務完成進度,做任務等方法
if($ret instanceof task_base_abstract)else
}//往陣列裡新增任務類,初始化時用
private function addclass($name, $realname)
}
這樣,當我們要使用乙個類時,可以如下呼叫:
//引數為對應的類的key
$objtask = task_factory::factory('interact');
1 PHP 設計模式 工廠模式
基本設計模式 1.工廠模式 如果很多頁面都 new 乙個database 物件,那麼一旦database作出改動,則需要在多個 頁面進行相應的改動。而用工廠模式,只需要改動乙個地方。namespace imooc class factory 使用工廠模式的目的或目標?工廠模式的最大優點在於建立物件上...
PHP設計模式 工廠模式
使用工廠模式使得在呼叫方法時變得更容易,因為它只有乙個類和乙個方法,若沒有使用工廠模式,則要在呼叫時決定應該呼叫哪個類和哪個方法 使用工廠模式還使得未來對應用程式做改變時更加容易 比如要增加一種形狀的支援,只需要修改工廠類中的create 乙個方法,而沒有使用工廠模式,則要修改呼叫形狀的 塊。定義形...
php設計模式 工廠模式,
1,工廠模式 最大的優點是 建立物件。通俗說,以前建立物件需要使用new,現在工廠模式把這個過程封裝起來了。假設不使用工廠模式 那麼很多地方呼叫類a,就會這樣子建立乙個例項 new a 假設某天需要把a類的名稱修改,意味著很多呼叫的 都要修改。工廠模式 建立乙個工廠 乙個函式,乙個方法 來製造新的物...