|
寫在前面
最近一段時間在研究有關設計模式方面的文章,拜讀了TerryLee以及呂震宇兩位老師所寫的設計模式方面的系列文章,收獲頗豐,也讓我對OOP,OOD有了新的理解和認識,不過在看到工廠方面的幾篇文章時,卻總有個地方想不通,望各位老師專家能替在下答疑解惑,以下是自己對工廠模式的一些理解以及提出的一種改良方案,不知道是否有人提出過類似的方案,如有雷同純屬巧合。有說得不對的地方還請批評指正。
從簡單工廠說起
嚴格來講簡單工廠并不屬于GOF的23個設計模式之一,但它之所以存在而被人們廣泛認知的原因,我想是由于它在一定程度上簡化了工廠方法(Factory Method)與抽象工廠(Abstract Factory)的模式,從而可以帶給新手對于工廠模式設計的精髓最直觀的認識,是不少人接觸工廠模式的奠基石,理解了簡單工廠的設計理念及實現方法再去理解相對復雜的工廠方法與抽象工廠有著水到渠成的效果。
先來看看簡單工廠的類關系圖:
簡單工廠一般以如下方式實現:
public class SimpleFactory
{
///
/// Get the right product base on the paoductcategory parameter.
///
///
///
public static IProduct CreateProduct(string productCategory)
{
switch (productCategory)
{
case "A":
return new ProductA();
case "B":
return new ProductB();
case "C":
return new ProductC();
default:
throw new Exception("Not a valid product category!");
return null;
}
}
}
NET技術:疑惑?改良? 從簡單工廠到工廠方法,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。