PHP設計模式 工廠模式

2021-09-09 05:39:31 字數 1082 閱讀 2422

顧名思義,彷彿乙個工廠,你給我訂單,我給你產品。

適用於:多種資料庫連線、同一功能的不同實現。

class

connectionfactory

else}}

connectionfactory:

:getconnection

("mysql");

connectionfactory:

:getconnection

("oracle"

);

優點

乙個呼叫者想建立乙個物件,只要知道其名稱就可以了。封裝了例項化過程,使用者不在需要關心過多的例項化過程,只需要提供約定好的例項化標識即可。

擴充套件性高,如果想增加乙個「產品」,只要擴充套件乙個工廠類或者是修改工廠的生產過程即可。

遮蔽產品的具體實現,呼叫者只關心產品的介面,產品類不論如何變化都不再影響其實例化過程。

缺點

每次增加乙個產品時,都需要增加或者修改乙個具體類和物件實現工廠,在一定程度上增加了系統的複雜度,同時也增加了系統具體類的依賴。

abstract

class

product

class

producta

extends

product

}class

productb

extends

product

}//工廠模式

class

productfactory

return

null;}

}//傳遞不同的引數獲取不同的物件

$obj

=productfactory:

:create(1

);$obj

->

getname()

;//這是a商品

$obj

=productfactory:

:create(2

);$obj

->

getname()

;//這是b商品

PHP設計模式 工廠模式

使用工廠模式使得在呼叫方法時變得更容易,因為它只有乙個類和乙個方法,若沒有使用工廠模式,則要在呼叫時決定應該呼叫哪個類和哪個方法 使用工廠模式還使得未來對應用程式做改變時更加容易 比如要增加一種形狀的支援,只需要修改工廠類中的create 乙個方法,而沒有使用工廠模式,則要修改呼叫形狀的 塊。定義形...

php設計模式 工廠模式,

1,工廠模式 最大的優點是 建立物件。通俗說,以前建立物件需要使用new,現在工廠模式把這個過程封裝起來了。假設不使用工廠模式 那麼很多地方呼叫類a,就會這樣子建立乙個例項 new a 假設某天需要把a類的名稱修改,意味著很多呼叫的 都要修改。工廠模式 建立乙個工廠 乙個函式,乙個方法 來製造新的物...

PHP設計模式 工廠模式

工廠模式factory method,又稱多型性工廠模式。在工廠方法模式中,核心的工廠類不再負責所有的產品的建立,而是將具體建立的工作交給子類去做。該核心類成為乙個抽象工廠角色,僅負責給出具體工廠子類必須實現的介面,而不接觸哪乙個產品類應當被例項化這種細節。1 簡單工廠模式能夠根據外界給定的資訊,決...