五種建立型設計模式的適用性
阿新 • • 發佈:2019-02-12
本文總結自《設計模式:可複用面向物件軟體的基礎》第 3 章。
閱讀需要約 5 分鐘。
各模式適用性如下:
1.1 抽象工廠(Abstract Factory)
- 當一個系統要獨立與它的產品的建立、組合和表示時;
- 當一個系統要由多個產品系列中的一個來配置;
- 當需要強調一系列相關的產品物件的設計以便進行聯合使用時;
- 當你需要提供一個產品類庫,只想顯示它們的介面而不是實現時;
1.2 生成器(Builder)
- 當建立複雜物件的演算法應該獨立於該物件的組成部分以及它們的裝配方式時;
- 當構造過程必須允許被構造的物件有不同的表示時;
1.3 工廠方式(Factory Method)
- 當一個類不知道它所必須建立的物件的類時;
- 當一個類希望由它的子類來指定它所建立的物件時;
- 當類將建立物件的職責委託給多個幫助子類中的某一個,並且你希望將哪一個幫助子類是代理者這一資訊區域性化時;
1.4 原型(Prototype)
- 當一個系統應該獨立於它的產品建立、構成和表示時;
- 當要例項化的類是在執行時刻指定時(如動態裝載);
- 當避免建立一個與產品類層次平行的工廠類層次時;
- 當一個類的例項只能由幾個不同狀態組合中的一種時;
1.5 單件(Singleton)
- 當類只能有一個例項而且客戶可以從一個眾所周知的訪問點訪問它時;
- 當這個唯一例項應該是通過子類化可擴充套件的,並且客戶應該無需更改程式碼就能使用一個擴充套件的例項時;
注:後續將對每個適用性配上實際場景。