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

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

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

    夢幻之旅

    DEBUG - 天道酬勤

       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      671 隨筆 :: 6 文章 :: 256 評論 :: 0 Trackbacks
    生成器模式
        生成器模式是將一個復雜的對象的構建與它的表示分離,使同樣的構建過程可能創建不同的表示.
        是為了將構建復雜對象的過程和它的部件解耦.注意: 是解耦過程部件.

    因為一個復雜的對象,不但有很多大量組成部分,如汽車,有很多部件:車輪 方向盤 發動機還有各種小零件等等,部件很多,但遠不止這些,如何將這些部件裝配成一輛汽車,這個裝配過程也很復雜(需要很好的組裝技術),Builder模式就是為了將部件和組裝過程分開.
    生成器的組成部份:
       1.產品:  復雜對象  
       2.抽象生成器:抽象生成器是一個接口,該接口除了創建一個產品對象的各個組件定義了若干方法以外,還要定義返回project;
       3.具體生成器:實現抽象生成器的方法
       4.指揮者:它是一個類,該類含有抽象生成器的接口生成變量.它的職責是根據用戶提供的生成器的種類來生成具體的產品對象.
    生成器各部份之間的關系:

    當客戶需要一個產品時,把需要的參數傳遞個導向器,導向器根據傳遞的參數調用具體的生成器,具體的生成器通過一系列的操作(getAnimal()通過調用其它的接口方法實現)最會返回一個產品。

    結論:生成器模式使得客戶可以更加精細的控制一個對象的構建,每個具體的創建者包含了創建和裝配一個特定產品的所有代碼,這些代碼只用寫一次,便可以被不同的Director使用,從而可以裝配出不同的對象。

    和抽象工廠的區別:

        抽象工廠需要生產一個迷宮(Maze* maze),然后一步步生產迷宮。

        而生成器模式就不一樣了,生成器(builder)封裝了建造一個筆記本配件的方法。CreateMaze()只需要對這些配件進行組裝。最后直接返回一個產品。

        這樣看來工廠更像一種特殊的生成器,因為生成器也可以更換builder,生成器還能夠生產不是一個系列的產品。即生成器不僅僅可以CreateMaze(),還可以生產CreateStandMaze()。類比到電腦,即不僅僅可以 CreateComputer(),還可以CreateComplexComputer(),更換builder也可以生產相同系列,不同的產品。

     



     

    posted on 2011-08-02 01:53 HUIKK 閱讀(239) 評論(0)  編輯  收藏 所屬分類: Design Patterns
    主站蜘蛛池模板: 3344免费播放观看视频| 免费观看在线禁片| 成人黄页网站免费观看大全| 亚洲视频在线观看不卡| 最近2022中文字幕免费视频| 99久久亚洲精品无码毛片| 91人成网站色www免费下载| 777亚洲精品乱码久久久久久 | 亚洲精品无码久久久久| 久久久久久噜噜精品免费直播| 亚洲一区二区三区影院| 中文字幕免费在线观看动作大片| 久久亚洲国产成人精品无码区| 美女网站在线观看视频免费的 | 亚洲最大天堂无码精品区| 成人男女网18免费视频| 爱情岛论坛亚洲品质自拍视频网站 | 亚洲色婷婷六月亚洲婷婷6月| 三年片免费观看大全国语| 亚洲最新视频在线观看| 黄页网站免费观看| 亚洲风情亚Aⅴ在线发布| 亚洲国产精品狼友中文久久久 | 在线播放亚洲第一字幕| 久久久久久影院久久久久免费精品国产小说 | 久久亚洲精品专区蓝色区| 国产精品无码一区二区三区免费| 国产亚洲精彩视频| 亚洲av无码国产精品色午夜字幕| 91青青国产在线观看免费| 亚洲欧美第一成人网站7777| 国产成人高清亚洲| 8x成人永久免费视频| 国产精品亚洲AV三区| 欧洲亚洲国产清在高| 成人无码区免费A片视频WWW| 羞羞视频免费观看| 亚洲国产成人久久77| 亚洲人成国产精品无码| 97性无码区免费| 一级做性色a爰片久久毛片免费|