<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 73,  comments - 55,  trackbacks - 0
    1。采用Factory method、Builder和Abstract Factory模式可以分離接口和具體實現,本文通過類比討論三者間的差異。

    ??? 下面舉例說明三者間的差異,其中客戶相當于模式使用者,商家相當于模式本身:??? 1. Factory method類似購買品牌機,客戶可以選擇聯想或DELL,商家的模式是提供各類品牌整機;??? 2. Builder類似購買組裝機,商家的模式是商家提供配件,并按客戶提要求裝機,最后商家提供機器(得到一臺整機);??? 3. Abstract Factory類似DIY,用戶根據價格(比如分高中低三個價位,每個價位一套最優配置)選擇一套配件,(得到一套配件)。

    2。Factory method和Abstract Factory模式區別:
    雖然兩種模式表面看來都是用來創建對象的,Abstract Factory創建一組products, Factory Method只創建一個product,但這并不意味著Factory Method只是Abstract Factory在只有一個product時的特例。
    (以下把Abstract Factory模式簡稱為AF,把Factory Method簡稱為FM)

    AF的適用性在設計模式一書中解釋如下:
    一個系統要獨立于它的產品的創建、組合和表示時;
    一個系統要由多個產品系列中的一個來配置的時候;
    當你要強調一系列相關的產品對象的設計以便進行聯合使用時;
    當你提供一個產品類庫,而只想顯示它們的接口而不是實現時。

    FM的適用性在設計模式一書中解釋如下:
    當一個類不知道它所創建的對象的類的時候;
    當一個類希望由它的子類來指定它所創建的對象的時候;
    當類創建對象的職責委托給多個幫助子類中的某一個, 并且你希望將"哪一個幫助子類是代理者"這一信息局部化的時候。

    因此,不同主要在于:
    (1)應用環境不同:FM中創建者的職責并不僅限于創建對象,而AF通常只有創建對象這一職責。
    (2)實現方式不同:FM是實現繼承,抽象類實現大部分操作,通常僅將對象的創建工作延遲到子類來完成;AF是接口繼承,抽象類通常不實現任何功能,僅僅定義一系列接口,子類實現抽象類定義的接口。
    (3)工廠方法可以說成template method在創建對象上面的應用,目的是封裝具體創建哪個對象;而抽象工廠是為了創建一“系列”的產品,抽象工廠通常用工廠方法來實現從而封裝了具體創建哪個產品系列。抽象工廠可以通過一系列工廠方法實現。

    3。template mothod? vs? strategy
    ?????? 這兩個模式的相同之處在于它們可以使算法和上下文解耦,不同之處在于一個是使用繼承來解決問題,另一個是基于委托。 而且strategy是對于整個算法的,template是針對算法的具體步驟的。

    4。Proxy模式和Strategy模式

    Adapter模式和代理模式(Proxy)都是在對象間構造一個簡單的層。然而,Adapter模式向對象提供一個不同的接口,代理模式(Proxy)為對象提供相同的接口。


    posted on 2006-07-25 11:09 保爾任 閱讀(468) 評論(0)  編輯  收藏 所屬分類: Design Patten

    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(4)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩精品久久久久久免费| 国产成人精品日本亚洲语音| 男女猛烈无遮掩视频免费软件| 成人免费无码大片a毛片软件| 亚洲三级视频在线观看| 最近在线2018视频免费观看| 亚洲日本中文字幕| 一级毛片免费视频| 亚洲第一成年人网站| 国产人成免费视频网站| 亚洲av无码久久忘忧草| 成人免费毛片内射美女APP| 一本色道久久综合亚洲精品蜜桃冫| 欧洲乱码伦视频免费| 亚洲午夜无码久久| 国产免费卡一卡三卡乱码| 免费很黄无遮挡的视频毛片| 亚洲综合色在线观看亚洲| 久久久WWW免费人成精品| 国产精品亚洲成在人线| 污视频在线免费观看| 亚洲国产中文在线二区三区免| 猫咪社区免费资源在线观看| 亚洲色偷精品一区二区三区| 四虎成人精品在永久免费| 国产99久久久久久免费看| 亚洲伦理一区二区| 毛色毛片免费观看| 一级毛片人与动免费观看| 亚洲va在线va天堂va不卡下载| 亚洲免费在线观看视频| 亚洲成熟丰满熟妇高潮XXXXX| 亚洲高清无码专区视频| 国产免费网站看v片在线| 亚洲Av无码一区二区二三区| 免费大香伊蕉在人线国产| 成人一区二区免费视频| 亚洲美免无码中文字幕在线| 国产区卡一卡二卡三乱码免费| 成人无码精品1区2区3区免费看| 亚洲精品欧洲精品|