設計模式-創建型模式

摘自大話設計模式

創建型模式
創建型模式隱藏了這些類的實例是如何被創建和放在一起,整個系統關於這些對象所知道得是由抽象類所定義的接口。這樣,創建型模式在創建什麼,誰創建他,他是如何被創建的,以及何時創建這些方面提供了很大的靈活性。
創建型模式抽象了實例化的過程,他們幫助一個系統獨立於如何創建、組合和表示他的那些對象。創建型模式都會將關於該系統使用哪些具體的類的信息封裝起來,允許客戶用結構和功能差別很大的產品對象配置一個系統。配置可以是靜態的(編譯時指定),也可以是動態的(運行時指定)。
當一個系統應該獨立於它的產品創建、構成、表示時,應該考慮用創建型模式。
創建的目標是:高內聚低耦合。

1、抽象工廠模式:提供一個創建一系列或相關依賴對象的接口,而無需指定他們具體的類。
可以解決多個類型產品的創建問題。Hibernate的同一對象與多個數據庫的ORM就是通過他實現。
特點:臃腫
設計模式-創建型模式
2、建造者模式:將一個複雜對象的構建與他的表示相分離,使得同樣的構建過程可以創建出不同的表示。
構建與表示分離,就很容易改變一個產品的內在表示,並設構建代碼和表示代碼分離。這樣對於客戶來說,他無需關心產品的創建過程,而只需要告訴指揮者需要什麼,就能通過相同的建築過程構建出不同的產品。但是很少有產品建造過程是一樣的。
設計模式-創建型模式

3、工廠方法模式:定義一個創建對象的接口,讓子類決定實例化哪一個類,此模式讓一個類的實例化延遲到其子類。
設計一般都是從工廠開始,其他模式都是工廠方法模式的變體。當需要需要更大的靈活性的時候,往往設計會轉變爲其他的創建者模式。
設計模式-創建型模式

4、原型模式:用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。
建立相應數目的原型並克隆他們通常比每次用合適的狀態手工實例化該類更方便。
設計模式-創建型模式

5、單例模式:保證一個類只有一個實例,並提供一個全局訪問點。
設計模式-創建型模式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章