一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

系統(tǒng)架構技能之設計模式—抽象工廠模式

  一、上篇回顧

  上篇我們主要講述了簡單工廠模式和工廠模式。并且分析了每種模式的應用場景和一些優(yōu)缺點,我們現(xiàn)在來回顧一下:

  簡單工廠模式:一個工廠負責所有類型對象的創(chuàng)建,不支持無縫的新增新的類型對象的創(chuàng)建。

  工廠模式:多個工廠負責多個類型對象的創(chuàng)建,每個工廠只負責具體類型對象的創(chuàng)建,支持無縫的新增類型對象的創(chuàng)建,需要實現(xiàn)工廠接口類和具體的類型對象類。

  我們來簡單的對比下這2個模式的優(yōu)缺點:

模式名稱優(yōu)點缺點
簡單工廠模式一個工廠負責所有對象的創(chuàng)建,簡單靈活不符合高內聚的原則,不支持無縫的擴展
工廠模式可以無縫的新增類型,每個工廠職責單一,符合高內聚的原則工廠類太多,難以維護。

  工廠模式,很優(yōu)雅的解決了應用程序使用對象時的無限new()的操作,同時降低了系統(tǒng)應用之間的耦合性,提高了系統(tǒng)的可維護性和適應性。

  二、摘要

  本文主要是針對創(chuàng)建型模式中的抽象工廠模式進行講述,抽象工廠模式是在簡單工廠模式的基礎上擴展而成的新模式,將簡單工廠中的對象的創(chuàng)建過程進行了很優(yōu)雅的動態(tài)配置來完成無縫的擴展,當然通過一些擴展,可以構建出可支持動態(tài)新增或者刪除對象的抽象工廠模式。本文將會給出具體的實現(xiàn)方案,相比工廠模式,抽象工廠模式是一個工廠負責多個對象的創(chuàng)建,返回的具體的類型是這個對象的抽象類型。這樣,在客戶端引用的時候只需要使用這個工廠返回的對象類型,抽象工廠會自動根據對象的類型動態(tài)的創(chuàng)建這個類型對象的實例。大體的過程如下:

image  上面的圖片呢,主要是針對經典的抽象工廠模式給出了一個實現(xiàn)草圖的模擬,而我們在實際的項目中可能并不希望給出這么多的抽象工廠工廠實現(xiàn),我只想給出一個通用的抽象工廠實現(xiàn),通過靜態(tài)方法直接調用,返回我想要的對象類型的實例,而且這個對象類型是可以動態(tài)配置的,那么我們如何做到呢?這就是本篇需要討論的實現(xiàn)方案。本篇將會從以下幾點進行講述抽象工廠模式:

  1、抽象工廠模式的簡單實例代碼-這里給出的是經典的抽象工廠模式實例代碼。我們從經典的實例代碼中可以看出這個工廠模式的一些缺點。

  2、根據經典工廠模式的缺點,我們給出改進的方案,進一步給出項目中可以使用的通用方案實現(xiàn)。

  3、給出上篇中的通過委托來實現(xiàn)的工廠模式方案。

  4、通過特性+反射的形式來動態(tài)的創(chuàng)建對象。

  三、本文大綱

       a、上篇回顧。

       b、摘要。

       c、本文大綱。

       d、抽象工廠模式的特點及使用場景。

       e、抽象工廠模式的實現(xiàn)方案。

       f、抽象工廠模式使用總結。

       g、系列進度。

       h、下篇預告。

  四、抽象工廠模式的特點及使用場景

  抽象工廠可以說是三類工廠模式中使用最廣泛的,也是最受大家喜愛的模式之一,因為抽象工廠模式解決了一系列相互依賴的對象或者有組合關系的對象的創(chuàng)建過程。舉個簡單的例子來說,我們以電腦的顯卡和風扇來說吧,我們知道顯卡一般在玩游戲的時候,由于渲染圖形會產生大量的熱量,如果沒有好的風扇那么可能無法達到好的散熱的效果,這個時候我們可以把顯卡和風扇的創(chuàng)建放在一個抽象工廠中進行創(chuàng)建,因為這2個對象是具有依賴關系的對象,那么我們來給出這個例子的完整實例代碼:

  先看看2個對象類型的接口和抽象工廠的接口定義:

/// <summary>
/// 定義顯卡抽象對象接口
/// </summary>
public interface IDisplayCard
{
}

/// <summary>
/// 定義顯卡風扇抽象對象接口
/// </summary>
public interface IDisplayFan
{
}

/// <summary>
/// 定義顯卡設備抽象工廠接口
/// </summary>
public interface IAbstractDriveFactory
{
IDisplayCard CreateDisplayCard();

IDisplayFan CreateDisplayFan();
}

it知識庫系統(tǒng)架構技能之設計模式—抽象工廠模式,轉載需保留來源!

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

主站蜘蛛池模板: 黄网在线观看网址入口 | 色婷婷综合网 | 91一个人的在线观看www | 精品国精品国产自在久国产不卡 | 国产精品高清在线 | 性做久久久久久久久男女 | 成年香蕉大黄美女美女 | 国产成人精品视频免费大全 | 欧美日韩一区二区在线观看视频 | 欧美日韩有码 | 欧美精品福利 | 国产一区二区三区在线看 | 黄大色黄美女精品大毛片 | 综合爱 | 国产视频一区二 | 国产成人午夜片在线观看 | 97碰视频人人做人人爱欧美 | 免费看一区二区三区 | 9久re在线观看视频精品 | 视频一区二区三区在线 | 中文字幕久热精品视频免费 | 国产人成亚洲第一网站在线播放 | 看片中文字幕 | 天天色图片 | 91色国产 | 一二三四视频社区5在线高清视频 | 狂野欧美激情性xxxx | 免费看一级淫片成人 | 亚洲免费二区三区 | 亚洲视频一区网站 | 日韩亚洲欧美综合一区二区三区 | 国产精品久久久久久久y | 高清欧美在线三级视频 | 国产成人精品免费2021 | 午夜激情福利 | 黑人一级毛片 | 国产精品美女久久久久网站 | 一级寡妇乱色毛片全18 | 精品国产一区二区三区19 | 国产美女视频一区二区二三区 | 色综合天天综久久久噜噜噜久久〔 |