1. 程式人生 > >設計模式分類之建立型模式

設計模式分類之建立型模式

建立型模式包括單例模式、工廠方法模式、抽象工廠模式、建造者模式、原型模式。

1. 單例模式
保證一個類僅有一個例項,並提供一個訪問它的全域性訪問點。
2. 工廠方法模式
定義一個用於建立物件的介面,讓子類決定例項化哪一個類,工廠模式使一個類的例項化延遲到其子類。
3. 抽象工廠模式
提供一個建立一系列或相關依賴物件的介面,而無需指定它們具體的類。
4. 建造者模式
將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。
5. 原型模式
用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
為什麼需要使用建立型模式?
建立型模式隱藏了這些類的例項是如何被建立和放在一起,整個系統關於這些物件所知道的是由抽象類所定義的介面。這樣,建立型模式在建立了什麼、誰建立它、它是怎麼被建立的,以及何時建立這些方面提供了很大的靈活性。
高內聚,低耦合:
內聚性描述的是一個例程內部組成部分之間相互聯絡的緊密程度。而耦合性描述的是一個例程與其他例程之間聯絡的緊密程度。軟體開發的目標應該是建立這樣的例程:內部完整,也就是高內聚,而與其他例程之間的聯絡則是小巧、直接、可見、靈活的,這就是鬆耦合。
建立型模式存在的意義:
建立型模式抽象了例項化的過程。它們幫助一個系統獨立於如何建立、組合和表示它的那些物件。建立型模式都會將關於該系統使用哪些具體的類的資訊封裝起來。允許客戶用結構和功能差別很大的“產品”物件配置一個系統。配置可以是靜態的,即在編譯時指定,也可以是動態地,就是執行時再指定。
通常設計應該是從工廠方法開始,當設計者發現需要更大的靈活性時,設計便會向其他建立型模式演化。當設計者在設計標準之間進行權衡的時候,瞭解多個建立型模式可以給設計者更多的選擇餘地。