<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

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

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

    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 擴展為控制系統只能

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

    1.3.1 ?? 常用實現方式

    public class Singleton {

    ??? private static Singleton instance = null ;

    ???

    ??? private Singleton() {}; // 控制外部不能自行創建 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 閱讀(1321) 評論(0)  編輯  收藏 所屬分類: Programming Thought

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲午夜无码久久久久软件| 国产亚洲精品看片在线观看| 亚洲情a成黄在线观看动漫尤物| 国产无限免费观看黄网站| 亚洲国产精品不卡毛片a在线| 亚洲国产综合AV在线观看| 99久久免费精品国产72精品九九 | 在线观看H网址免费入口| 91在线亚洲精品专区| 亚洲免费一级视频| 亚洲kkk4444在线观看| 啦啦啦www免费视频| 免费亚洲视频在线观看| 亚洲欧洲久久av| 免费91麻豆精品国产自产在线观看| 亚洲va久久久噜噜噜久久天堂| 永久免费av无码入口国语片| 亚洲综合在线视频| 4399好看日本在线电影免费| 亚洲av永久中文无码精品综合| 亚洲精品成人网久久久久久| 中文字幕无码日韩专区免费| 亚洲综合视频在线| 性色av免费观看| sihu国产精品永久免费| 亚洲专区先锋影音| 国产乱弄免费视频| 久久久久久成人毛片免费看| 亚洲综合av一区二区三区不卡| 亚洲国产精品人人做人人爽 | 亚洲校园春色小说| 免费久久精品国产片香蕉| 中文字幕无码毛片免费看| 亚洲午夜久久久精品电影院| 免费**毛片在线播放直播| 日本一道本不卡免费 | 亚洲国产精品无码一线岛国| 免费影院未满十八勿进网站| 黄色a级免费网站| 亚洲精品综合久久中文字幕| 在线观看亚洲免费|