簡單工廠設計模式

2021-09-07 07:15:02 字數 1232 閱讀 4625

意圖:

定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。factory method 使乙個類的例項化延遲到其子類。

適用性:

當乙個類不知道他所必須建立的物件的類的時候。

當乙個類希望有他的子類來指定他所建立的物件的時候

當類將建立物件的職責委託給多個子類中的某乙個。

'''工廠類

'''def getshape(self):

return

self.shape_name

class

circle(shapefactory):

def __init__(self):

self.shape_name = "

circle

"def draw(self):

print(

'draw circle')

class

rectangle(shapefactory):

def __init__(self):

self.shape_name = "

retangle

"def draw(self):

print(

'draw rectangle')

class shape(object

):

'''介面類,負責決定建立哪個shapefactory的子類

'''def create(self, shape):

if shape == '

circle':

return

circle()

elif shape == '

rectangle':

return

rectangle()

else

:

return

none

fac =shape()

obj = fac.create('

circle')

obj.draw()

obj.getshape()

優點:使用者不需要修改**

缺點:當使用者需要新增新的運算類的時候,不僅需新加運算類,還需要修改工廠類,違反了開放封閉原則

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

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

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

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

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

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