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

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

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

    Roger Tu

    A simple boy living a simple life in every simple day...

       ::  :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      7 隨筆 :: 0 文章 :: 19 評論 :: 0 Trackbacks

    1 ???????? Creational Patterns

    將對象的使用與對象的創(chuàng)建分開。對象的使用者不負責創(chuàng)建對象,只需知道如何獲取需

    要的對象。這樣,當被使用對象的創(chuàng)建過程需要變更或擴展時,對象的使用者無須變動,只要對專門負責創(chuàng)建該對象的對象工廠做必要的變更或擴展即可。

    1.1 ??? The Factory Pattern

    1.1.1 ?? 基本類圖

    o_factory.GIF

    1.1.2 ?? 分析

    BasicProduct 有新的子產品 ExProduct3 要應用到系統時, Factory createProduct()

    需要簡單修改,增加一個“ else if ”分支,沒有完全實現“對擴展開放,對修改封閉”。但當明確產品就是有限的幾種時,仍是有效且常用的。

    ??????

    1.2 ??? The Abstract Factory Pattern

    1.2.1 ?? 基本類圖

    o_abstract_factory.GIF

    1.2.2 ?? 分析

    BasicProduct 有新的子類 ExProduct3 要應用到系統時,新建一個對應的擴展自

    BasicFactory ExFactory3 即可,現有類無需修改,實現了“對擴展開放,對修改封閉”。

    1.3 ??? The Singleton Pattern

    控制系統最多存在某個類的一個實例。很容易將 Singleton Pattern 擴展為控制系統只能

    創(chuàng)建某個類的有限個實例的情形。系統中大部分管理服務對象都是單實例的。例如,系統存在多個用戶實例,但只存在一個用戶管理者對象。

    1.3.1 ?? 常用實現方式

    public class Singleton {

    ??? private static Singleton instance = null ;

    ???

    ??? private Singleton() {}; // 控制外部不能自行創(chuàng)建 Sigleton 實例

    ???

    ??? public static Singleton getInstance() {

    ?????? if ( null == instance ) {

    ?????????? instance = new Singleton();

    ?????? }

    ?????? return instance ;

    ??? }

    }

    ?

    1.4 ??? The Builder Pattern

    1.4.1 ?? 基本類圖

    o_builder.GIF

    1.4.2 ?? 分析

    當一個產品( Product )由多個部分( Part1 Part2 Partn )組成,而各個部分又有

    不同的構造方式時。將產品各部分的構造和產品的組裝分離,就是 Builder Pattern Builder 是對產品各部分構造的抽象,而 Director 負責使用指定的 Builder 組裝產品。這樣,當系統有新的產品各部分構造方式需要加入時,只需實現繼承自 Builder ConcreteBuilder3 即可,系統其他類無需修改,實現了“對擴展開放,對修改關閉”。

    1.5 ??? The Prototype Pattern

    給定一個對象實例 A ,得到一個另一個對象實例 B B 的類型與 A 同, B 的內容與 A

    相同。常稱 B A 的克隆或副本。

    ?????? Java 對象模型直接支持 Prototype Pattern ,因為 Java 自帶克隆機制。關于 Java 克隆機制,見隨筆 http://www.tkk7.com/RogerTu/archive/2007/03/18/104532.html
    posted on 2007-03-23 00:49 RogerTu 閱讀(1320) 評論(0)  編輯  收藏 所屬分類: Programming Thought

    只有注冊用戶登錄后才能發(fā)表評論。


    網站導航:
     
    主站蜘蛛池模板: 99免费精品视频| 亚洲AV日韩综合一区尤物 | 国产精品免费大片| 亚洲精品国产情侣av在线| 大香人蕉免费视频75| 亚洲视频一区在线观看| 男的把j放进女人下面视频免费| 久久亚洲熟女cc98cm| 国产乱子伦精品免费无码专区| 国内少妇偷人精品视频免费| 亚洲免费视频观看| 亚洲国产精品自在拍在线播放| 亚洲精品免费观看| 精品在线免费视频| 暖暖日本免费在线视频| 中文在线免费视频| 亚洲精品无码人妻无码| 亚洲av中文无码乱人伦在线r▽| 性感美女视频免费网站午夜| 你是我的城池营垒免费观看完整版| 日本亚洲色大成网站www久久 | 亚洲人成高清在线播放| 亚洲国产精品无码久久九九| 国产成人精品免费视频大全麻豆| 中国极品美軳免费观看| jzzijzzij在线观看亚洲熟妇| 亚洲av不卡一区二区三区| 亚洲阿v天堂在线2017免费| 无人在线观看完整免费版视频 | 亚洲国产精品自在拍在线播放| av无码免费一区二区三区| 中文字幕免费人成乱码中国| 国产亚洲一卡2卡3卡4卡新区| 亚洲欧洲校园自拍都市| 亚洲国产精品无码专区| 亚洲精品天堂成人片?V在线播放 | 精品无码一区二区三区亚洲桃色| 亚洲国产一级在线观看| 破了亲妺妺的处免费视频国产| 四虎国产精品成人免费久久| 亚洲色成人四虎在线观看|