軟件設計模式概念與意義
設計模式的概念
軟件設計模式又稱設計模式,是一套可複用、爲人只曉的、經過分類 編目的代碼設計經驗的總結。它描述的是在軟件設計過程中的一些不斷重複發生的問題,以及該問題的解決方案。說白了有點像功夫祕籍裏面的套路,我們按照套路來使用,再領悟昇華。設計模式的目的是爲了提高代碼的重用性、代碼的可讀性和代碼的可靠性。
設計模式的意義
設計模式的本質是面向對象設計原則的實際運用,是對面向對象的三大特性的充分理解。充分的表示了類的封裝性、繼承性、多態性以及清晰地梳理了類與類之間的關聯關係和組合關係。
設計模式的優點
- 提高開發者的思維能力、編程能力和設計能力;
- 使程序更爲標準化、代碼編制更爲工程化,提高開發效率,縮短軟件開發週期。
- 代碼可用性提高,可讀性增強,靈活性優秀、可維護性更方便
設計模式地基本要素
基本要素:模式名稱、問題、解決方案、效果(這四個比較重要)別名、動機、結構、模式角色、合作關係、實現方法、適用性、已知應用、例程、模式拓展、相關模式。
-
模式名稱:
模式自己的名字,通常用有意義的詞來描述,可根據模式的問題、效果、特點、解決方案、功能、和效果來命名。
-
問題
描述模式的應用環境,何時使用該模式。它解釋了設計問題及其存在的前因後果和一些必須滿足的先決條件。
-
解決方案
解決方案包括設計的組成成分、成分間的聯繫、成分各自的職責和協作方式。
-
效果
模式的優缺點。需要對時間和空間進行衡量,以及該模式對系統的靈活性、擴充性、可移植性的影響。
學習設計模式的方法
- 帶着問題學習,理解每個設計模式的類圖和用例圖,爲甚麼這樣設計;
- 持之以恆,多次閱讀理解;
- 多次研究,理論實踐雙結合。
後記
- GOF(設計模式)是Java基礎知識和J2EE框架間的一座橋樑,更能體現抽象類和接口的魅力。
- GOF不是一種技術,而是一種思想,強調程序儘可能地複用。