php設計模式之工廠模式

2022-08-24 14:54:12 字數 1316 閱讀 4955

場景需求:

某個電商小公司剛開始業務小,只賣書。所以作為程式設計師的我們寫**只需要乙個book類即可。

隨著公司的發展,慢慢的開始有其他產品,比如 賣狗跟賣酒,那麼問題來了,怎樣融合 3個產品。

於是工廠模式產生了:

index.php**

<?php

/** * created by phpstorm.

* user: administrator

* date: 2016/10/31

* time: 20:35

*/require "product/productfactory.php";

$obj = productfactory::getproduct('wines');

var_export($obj->getlist());

product/productfactory.php **:

<?php

/** * created by phpstorm.

* user: administrator

* date: 2016/10/31

* time: 20:35

*/class productfactory

switch ($type)

return $obj;

}}

books.php**

<?php

/** * created by phpstorm.

* user: administrator

* date: 2016/10/31

* time: 20:35

*/class books

}

dogs.php**

<?php

/** * created by phpstorm.

* user: administrator

* date: 2016/10/31

* time: 20:35

*/class dogs

}

wines**:

<?php

/** * created by phpstorm.

* user: administrator

* date: 2016/10/31

* time: 20:35

*/class wines

}

所以我們只需要在 index**裡面輸入對應的類即可

$obj = productfactory::getproduct('wines');

php設計模式之工廠模式

一直都對php的設計模式有著一種特殊的 情結 從最開始接觸到的單例模式,到經典的mvc設計模式,每次的接觸都讓我為之驚奇。買了本php設計模式在家看,發現,都是專有名詞,再加上太專業的術語,讓我沒有看下去的勇氣。無意之中逛論壇,發現乙個部落格,關於php的五種設計模式,其中就有工廠模式。看完後,第一...

php設計模式之工廠模式

工廠模式的最大優點在於建立物件上面,就是把建立物件的過程封裝起來,這樣隨時可以產生乙個新的物件。減少 進行複製粘帖,耦合關係重,牽一發動其他部分 通俗的說,以前建立乙個物件要使用new 現在把這個過程封裝起來了。假設不使用工廠模式 那麼很多地方呼叫類a 就會這樣子建立乙個例項 new a 假設某天需...

php模式設計之 工廠模式

那麼何為工廠模式?從名字來看,似乎看不出什麼端倪。工廠模式,和生產有關?還是和生產流程 子了,所謂工廠模式還真和生產有關。生產什麼呢?生產出來的是乙個例項物件。通過什麼裝置生產?通過乙個工廠類生產。怎麼生產呢?工廠類呼叫自身靜態方法 來生產物件例項。工廠模式有乙個關鍵的構造,根據一般原則命名為fac...