色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

疑惑?改良? 從簡(jiǎn)單工廠到工廠方法

  寫在前面

最近一段時(shí)間在研究有關(guān)設(shè)計(jì)模式方面的文章,拜讀了TerryLee以及呂震宇兩位老師所寫的設(shè)計(jì)模式方面的系列文章,收獲頗豐,也讓我對(duì)OOP,OOD有了新的理解和認(rèn)識(shí),不過在看到工廠方面的幾篇文章時(shí),卻總有個(gè)地方想不通,望各位老師專家能替在下答疑解惑,以下是自己對(duì)工廠模式的一些理解以及提出的一種改良方案,不知道是否有人提出過類似的方案,如有雷同純屬巧合。有說得不對(duì)的地方還請(qǐng)批評(píng)指正。 

  從簡(jiǎn)單工廠說起

嚴(yán)格來講簡(jiǎn)單工廠并不屬于GOF的23個(gè)設(shè)計(jì)模式之一,但它之所以存在而被人們廣泛認(rèn)知的原因,我想是由于它在一定程度上簡(jiǎn)化了工廠方法(Factory Method)與抽象工廠(Abstract Factory)的模式,從而可以帶給新手對(duì)于工廠模式設(shè)計(jì)的精髓最直觀的認(rèn)識(shí),是不少人接觸工廠模式的奠基石,理解了簡(jiǎn)單工廠的設(shè)計(jì)理念及實(shí)現(xiàn)方法再去理解相對(duì)復(fù)雜的工廠方法與抽象工廠有著水到渠成的效果。

先來看看簡(jiǎn)單工廠的類關(guān)系圖:

簡(jiǎn)單工廠一般以如下方式實(shí)現(xiàn):

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技術(shù)疑惑?改良? 從簡(jiǎn)單工廠到工廠方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 鄂托克旗| 大同市| 衡山县| 蛟河市| 历史| 五大连池市| 民乐县| 柳河县| 南溪县| 石城县| 定西市| 陈巴尔虎旗| 怀来县| 普宁市| 定结县| 句容市| 盖州市| 竹山县| 东兴市| 奎屯市| 辛集市| 浑源县| 永善县| 自贡市| 安多县| 惠来县| 清流县| 稻城县| 微山县| 法库县| 新乡县| 余干县| 淳化县| 安阳县| 师宗县| 大安市| 淮安市| 江都市| 梁山县| 新安县| 西峡县|