設計模式 簡單工廠

2021-09-28 15:14:58 字數 1340 閱讀 2978

定義乙個工廠類,可以根據引數不同返回不同的例項。這些例項繼承同乙個父類。由於工廠類中建立例項的方法是靜態方法, 所以工廠方法也被稱為靜態工廠方法, 是類建立型模式。不屬於gof23中設計模式。

* 工廠類

*/class

operatefactory")

;}return

$operate;}

}/**

* 工廠父類

*/abstract

class

baseoperate

public

function

__get

($name

)throw

new\exception

("not exist param ")

;}}/**

* 加法例項

*/class

addoperate

extends

baseoperate

}/**

* 減法例項

*/class

reduceoperate

extends

baseoperate

}/**

* client

*/spl_autoload_register

('auto_load_class'

,true

,true);

$operate

='+'

;$instance

= operatefactory:

:getoperateinstance

($operate);

$instance

->

numbera=20

;$instance

->

numberb=10

;$result

=$instance

->

caculate()

;var_dump

($result);

function

auto_load_class

($class

).php"

;}優點:

1.客戶端可以不需要記住複雜的類名就可以建立相應的例項

缺點:1.工廠類中如果新增乙個新的例項,就需要新增相應的判斷,違反了開閉原則

2. 工廠類是通過靜態方法獲取, 不便於層級擴充套件

1.適用於工廠需要建立的情況不多的情況。

2. 用於建立物件

設計模式 工廠模式(簡單工廠)

一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...

簡單工廠設計模式與工廠設計模式

工廠設計模式的目的 降低呼叫者和實現者之間的耦合度。當需求發生變化 增加或改變 時,不改變原有 的結構。1.簡單工廠設計模式 優點 降低了呼叫者和實現者之間的耦合度。當引入乙個新的實現型別時,只需要增加乙個實現類,然後修改工廠類即可。缺點 只適用於層次結構較為簡單的情況。如果可能的實現型別很多,工廠...

設計模式 簡單工廠設計模式

請用任意一種物件導向語言實現計算器控制台程式,要求輸入兩個數和運算符號,得到結果。operation運算類 public class operation set public double numberb set public virtual double getresult 加減乘除類 using...