天天看點

[設計模式]建立型模式定義主導思想分類應用代表模式推薦閱讀參考資料

定義

建立型模式抽象了執行個體化的過程。它将系統與它的對象建立、結合、表示的方式分離。

建立型模式都會将關于該系統使用哪些具體的類的資訊封裝起來。

在軟體工程中,建立型模式是處理對象建立的設計模式,試圖根據實際情況使用合适的方式建立對象。

基本的對象建立方式可能會導緻設計上的問題,或增加設計的複雜度。建立型模式通過以某種方式控制對象的建立來解決問題。

主導思想

1、将系統使用的具體類封裝起來。

2、隐藏這些具體類的執行個體建立和結合的方式。

分類

建立型模式又分為對象建立型模式和類建立型模式。對象建立型模式處理對象的建立,類建立型模式處理類的建立。

對象建立型模式把對象建立的一部分推遲到另一個對象中。(代表模式:單例模式、建造者模式、原型模式、抽象工廠模式)

類建立型模式将它對象的建立推遲到子類中。(代表模式:工廠方法模式)

應用

現代軟體工程更加依賴對象的組合,而不是類的繼承,強調從寫死的行為轉變到定義一組基本行為來組合成複雜的行為。

寫死的行為不夠靈活,因為如果想要改變設計的一部分,需要通過重寫或者重新實作才能完成。

另外,寫死沒有提高重用性,而且難以跟蹤錯誤。由于這些原因,建立型模式比寫死的行為更有用。

建立型模式使設計變得更靈活,提供了不同的方式,從代碼中移除了對需要執行個體化的具體類的引用。換句話說,這些模式增強了對象和類之間的獨立性。

在以下情況中,可以考慮應用建立型模式:

  • 一個系統需要和它的對象和産品的建立互相獨立。
  • 一組相關的對象被設計為一起使用。
  • 隐藏一個類庫的具體實作,僅暴露它們的接口。
  • 建立獨立複雜對象的不同表示。
  • 一個類希望它的子類實作它所建立的對象。
  • 類的執行個體化在運作時才指定。
  • 一個類隻能有一個執行個體,而且這個執行個體能在任何時候通路到。
  • 執行個體應該能在不修改的情況下具有可擴充性。

代表模式

單例模式 (Singleton Pattern) 工廠方法模式 (Factory Method Pattern) 抽象工廠模式 (Abstract Factory Pattern) 建造者模式 (Builder Pattern) 原型模式 (Prototype Pattern)

推薦閱讀

本文屬于

設計模式系列

參考資料

《大話設計模式》

《HeadFirst設計模式》

繼續閱讀