PHP設計模式(1)工廠模式

2021-09-03 09:29:26 字數 793 閱讀 4172

工廠模式 是一種類,它具有為您建立物件的某些方法。您可以使用工廠類建立物件,而不直接使用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類的名稱修改,意味著很多呼叫的 都要修改。工廠模式 建立乙個工廠 乙個函式,乙個方法 來製造新的物...