工廠設計模式可分為:
簡單工廠模式
工廠方法模式
抽象工廠模式
第一篇我們來聊聊
理解
假設某些例項具有相同的方法,可以根據引數的不同返回不同的例項,被建立的例項通常都具有共同的父類,那麼可以考慮使用簡單設計模式來實現。
例如可以實用簡單工廠模式設計乙個可以建立不同幾何形狀(如圓形、方形和三角形等)的繪圖工具,每個幾何圖形都具有繪製draw()和擦除erase()兩個方法。
例子(摘自晨鳴的部落格):
//圖形介面
public
inte***ce
shape
//圓形
public
class
roundshape
implements
shape
@override
public
void
erase()
}//三角形
public
class
********shape
implements
shape
@override
public
void
erase()
}//工廠類
public
class
shapefactory else
if (type.equalsignorecase("********"))
return shape;}}
客戶端測試**如下
public
class client
}
執行結果如下
畫了乙個圓形!
擦除乙個圓形!
畫了乙個三角形!
擦除乙個三角形!
總結簡單工廠模式中工廠類的職責太重,一旦不能工作將影響整個系統,且如果新增過多的產品,工廠類中的邏輯就過於複雜。所以簡單工廠模式適用於邏輯簡單,且需要建立物件較少的情況。 工廠設計模式一 簡單工廠模式
工廠設計模式實現了建立者和呼叫者的分離。類別 1.簡單工廠模式 2.工廠方法模式 3.抽象工廠模式 遵循的設計原則 1.ocp 開閉原則,open closed principle 乙個軟體的實體應當那個對擴充套件開放,對修改關閉 2.dip 依賴倒置原則,dependence inversion ...
設計模式 一 工廠模式 簡單工廠
以前總覺得設計模式純屬扯淡,浪費精力,10 能搞定的事情非要寫那麼多的介面或者實現類.為什麼要用設計模式,開發有乙個重要的原則 對修改關閉,對擴充套件開放.因為如果把 全部都雜糅到乙個類中,第一 復用性太差,擴充套件性不強.第二,修改起來一改巨改,改動即意味著要增加測試人員工作量,且引入修改bug如...
設計模式 工廠模式(簡單工廠)
一 簡單工廠 定義 簡單工廠模式 factory pattern 屬於類的創新型模式,又叫靜態工廠方法模式 static factorymethod pattern 是通過專門定義乙個類來負責建立其他類的例項,被建立的例項通常都具有共同的父類。特點 工廠類直接實現,乙個產品介面,乙個工廠類可以產生多...