通俗定義:就是用乙個工廠(類)來建立物件。
示例:假如你想在某寶上找到乙個可以定做鞋子的廠家,現在是夏天你想訂做一雙你專屬的滑板鞋(yeah!,摩擦摩擦...)。過了半年後到了冬天,你又想訂做一雙棉鞋。
類圖:
**:
///呼叫:///鞋子
/// public
abstract
class
shoes
}//////
涼鞋
/// public
class
sandal : shoes}}
//////
棉鞋
/// public
class
cottonpaddedshoes : shoes}}
//////
某淘鞋子工廠
/// public
class
shoesfactory
else
if(shoestype == "棉鞋"
)
throw
new exception(string.format("
我們廠家不生產
",shoestype));}}
class結果: 優點: 參照上面的例子來說,我們需要什麼鞋子直接告訴工廠就可以了不必關心鞋子是怎麼做出來的,做出來的什麼型別的。客戶端不直接依賴於具體物件,更加靈活。program
",shoes1.name);
console.writeline(
"正在生產棉鞋...");
//第二雙鞋子
shoes shoes2 = shoesfactory.create("棉鞋"
); console.writeline(
"鞋子生產完畢!");
//看看是什麼鞋
console.writeline("
鞋子的名稱是:
", shoes2.name);
console.read();}}
缺點:還是繼續上面的例子,假如現在我想要一雙滑板鞋怎麼辦?假如工廠想要實現的話就必須去修改工廠類,假如我還要一雙足球鞋、一雙籃球鞋、一雙跑步鞋等等。那麼這個工廠類將變的異常的複雜和龐大難以維護。
設計模式 簡單工廠模式(C )
一.簡單工廠模式又稱靜態工廠方法模式 static factory method 它不是gof 所講的23種設計模式之一,但是它卻是我們在編碼過程中經常使用的方法之一。1.靜態工廠方法統一管理物件的建立。靜態工廠方法通過傳入的引數判斷決定建立哪乙個產品的例項,封裝了物件的建立,客戶端只管消費,實現了...
C 設計模式 簡單工廠模式
從設計模式的型別上來說,簡單工廠模式是屬於建立型模式,又叫做靜態工廠方法 static factory method 模式,但不屬於23種 gof設計模式之一。簡單工廠模式是由乙個工廠物件決定建立出哪一種產品類的例項。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的乙個特殊實...
C 設計模式 簡單工廠模式
問題描述 之前在公司做了乙個windows 8平台的閱讀器。首先,需要將電子書中的內容渲染到螢幕上,而電子書每一頁都包含各種各樣的內容,比如 圖形 影象和文字等等 不同的內容,就是不同的物件 在將不同的內容渲染到螢幕上之前,就需要new操作,建立不同的物件,然後再在螢幕上進行描繪。這個時候,就需要進...