這個和簡單工廠有區別,簡單工廠模式只有乙個工廠,工廠方法模式對每乙個產品都有相應的工廠
好處:增加乙個運算類(例如n次方類),只需要增加運算類和相對應的工廠,兩個類,不需要修改工廠類。
缺點:增加運算類,會修改客戶端**,工廠方法只是把簡單工廠的內部邏輯判斷移到了客戶端進行。
#!/usr/bin/env python# -*- coding: utf-8 -*-
class operation(object
):
"""抽象類
"""def getresult(self):
raise notimplemented
class
add(operation):
"""加
"""def getresult(self, numa, numb):
return numa +numb
class operationfactory(object
):
"""工廠類
"""def createoperation(self):
raise notimplemented
class
addfactory(operationfactory):
def createoperation(self):
return
add()
if __name__ == '
__main__':
obj =addfactory()
ret =obj.createoperation()
result = ret.getresult(2,5
) print(result)
設計模式 工廠設計模式
用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...
設計模式 工廠設計模式
工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...