設計模式UML之創建型模式

這些天又把設計模式過了一遍,收穫很多。作爲回顧,畫一畫每種模式的UML類圖以加深印象。篇幅所限,本篇只限於創建型模式,包括:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

1. 概述

設計良好的系統中,一個基本的要求就是高內聚、低耦合。內聚性描述的是一個模塊內部組成部分之間相互聯繫的緊密程度;耦合性指的是一個模塊與其他模塊之間聯繫的緊密程度。軟件設計的目標應該滿足:(1) 模塊內部功能緊密而完整,也就是高內聚;(2) 不同模塊之間的聯繫則是簡單、直接、可見、靈活,即鬆耦合。

創建型模式抽象了實例化的過程,它幫助一個系統獨立於如何創建、組合和表示它的那些對象。創建型模式會將所使用的類的信息封裝起來,允許客戶用結構和功能差別很大的對象配置一個系統,配置可以是靜態的(在編譯時指定),也可以是動態的(在運行時指定)。

2. UML類圖

2.1 抽象工廠模式

抽象工廠模式提供一個創建一系列相關或相互依賴的對象的接口,而無需指定它們具體的類。

2.2 工廠方法模式

工廠方法定義一個用於創建對象的接口,讓子類決定實例化哪一個類,工廠方法模式使一個類的實例化延遲到其子類。

2.3 建造者模式

建造者模式將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。

2.4 原型模式

原型模式是用原型實例指定創建對象的種類,並且通過拷貝這些原型創建新的對象。

2.5 單例模式

單例模式保證一個類僅有一個實例,並提供一個訪問它的全局訪問點。

3. 總結

我們在做系統設計的時候,通常由工廠方法開始,當設計者發現需要更大的靈活性時,設計便會向其他創建型模式演化。當需要在設計標準之間進行權衡的時候,瞭解多個創建型模式可以給設計者提供更多的選擇餘地。

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