php設計模式之工廠模式

2021-10-25 09:58:42 字數 1447 閱讀 2397

使用最通俗的語言對工廠模式進行詮釋就是:將建立物件的交給工廠。

ps:工廠模式主要是用來建立公用物件的

工廠模式分為簡單/靜態工廠模式,工廠方法模式,抽象工廠模式。

簡單工廠的作用是例項化物件,而不需要客戶了解這個物件屬於哪個具體的子類。簡單工廠例項化的類具有相同的介面或者基類,在子模擬較固定並不需要擴充套件時,可以使用簡單工廠。

staticfactory.php

<?php

namespace designpatterns\creational\staticfactory;

/** * 簡單工廠類

* */

final class staticfactory

if ($type == 'string')

throw new \invalidargumentexception('unknown format given');

}}

formatterinte***ce.php

<?php

namespace designpatterns\creational\staticfactory;

/** * 產品介面類

* **/

inte***ce formatterinte***ce

formatstring.php

<?php

namespace designpatterns\creational\staticfactory;

class formatstring implements formatterinte***ce

formatnumber.php

<?php

namespace designpatterns\creational\staticfactory;

class formatnumber implements formatterinte***ce

使用:

<?php

namespace designpatterns\creational\staticfactory\tests;

use designpatterns\creational\staticfactory\staticfactory;

use phpunit\framework\testcase;

class staticfactorytest extends testcase

public function testcancreatestringformatter()

/*** @expectedexception \invalidargumentexception

*/public function testexception()

}

php設計模式之工廠模式

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

php設計模式之工廠模式

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

php模式設計之 工廠模式

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