小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

設計模式之創(chuàng)建模式...

 ShangShujie 2007-04-22

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 有新的子產(chǎn)品 ExProduct3 要應用到系統(tǒng)時, Factory createProduct()

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

      

1.2     The Abstract Factory Pattern

1.2.1    基本類圖

o_abstract_factory.GIF

1.2.2    分析

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

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

1.3     The Singleton Pattern

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

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

1.3.1    常用實現(xiàn)方式

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    分析

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

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

1.5     The Prototype Pattern

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

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

       Java 對象模型直接支持 Prototype Pattern ,因為 Java 自帶克隆機制。關(guān)于 Java 克隆機制,見隨筆 http://www./RogerTu/archive/2007/03/18/104532.html 。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多