<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://m.tkk7.com/RogerTu/archive/2007/03/18/104532.html
    posted on 2007-03-23 00:49 RogerTu 閱讀(1320) 評論(0)  編輯  收藏 所屬分類: Programming Thought

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


    網站導航:
     
    主站蜘蛛池模板: 高潮毛片无遮挡高清免费视频| 亚洲国产精品无码久久久| 亚洲欧美日韩综合久久久| 亚洲性线免费观看视频成熟 | 久久精品亚洲综合一品| A级毛片成人网站免费看| 亚洲熟妇中文字幕五十中出| 成人午夜影视全部免费看| 国产亚洲精品看片在线观看 | 亚洲中文久久精品无码| 中国极品美軳免费观看| 亚洲阿v天堂在线| 99re6在线视频精品免费下载| 中字幕视频在线永久在线观看免费| 国产高清在线免费视频| 真人无码作爱免费视频| 国产亚洲精品福利在线无卡一| 亚洲av成人综合网| 国产成人免费高清激情视频| 亚洲AV日韩综合一区尤物| 国产一级做a爱免费视频| 日韩电影免费在线观看网站| 亚洲精品高清国产一久久| 免费H网站在线观看的| 婷婷亚洲综合一区二区| 在线观看国产区亚洲一区成人 | 亚洲精品伊人久久久久| 国产精品酒店视频免费看| 久久久久久久国产免费看| 亚洲精品一卡2卡3卡三卡四卡| 男女一进一出抽搐免费视频| 亚洲午夜免费视频| 在线jyzzjyzz免费视频| 自拍偷自拍亚洲精品偷一| 国产精品亚洲一区二区三区在线 | 亚洲最大成人网色| 女人被免费视频网站| 国产成人亚洲综合在线| 亚洲欧洲国产日韩精品| 暖暖免费高清日本中文| 成全在线观看免费观看大全|