軟件體系結構(筆記整理)
簡單的說,軟件體系結構就是一個軟件系統的構建方法和內部運轉工作機制。它涉及總體組織、全局控制、通訊協議、同步、數據存儲、算法等問題。
體系結構描述了軟件系統基本的結構化組織方案,它們提供了一套預先定義好的子系統來制定它們的職責,包括用于組織它們之間的規則和指南。
研究軟件體系結構的目的:
1) 避免軟件危機:項目延期、費用超支、系統難以修改……
2) 提高軟件的可復用性
常用的軟件體系結構:層體系結構、模型—視圖—控制(MVC)、代理者
層:有助于構建這樣的應用程序,它能分解成幾組子任務,每組子任務處于一個特定的抽象層。
MVC:把一個交互式應用程序分成三個組件:核心功能、表示和控制。變更—傳播機制確保這三個部分的一致性。
代理者:能用于構建這樣的分布式軟件系統,它有著分離組件,而這些組件彼此通過遠程服務調用進行交互。
模式類別:
什么是模式:當專家在求解某一特殊問題時,他們一般不會發明一種和以有解決方案完全不同的方案來處理問題。他們往往想起已解決過的相似問題,并重用其解決的精華來解決問題。模式既是一個過程,又是一個事物。
一些模式有助于把一個軟件系統分解成子系統。另一些模式支持子系統和組件的細化或它們之間關系的細化。我們可以把模式分為兩種模式:
體系結構模式
設計模式
體系結構模式:它是高層的模式,用于建立整體的軟件框架和作為具體軟件結構的模板。
設計模式:是中等規模的模式,它們在規模上比體系結構模式小,但獨立于特定編程語言。它提供了一個用于細化軟件系統的子系統或組件,或它們之間關系的模板。它是概念、思維方式上的抽象和重用。
設計模式類型:
創建型(creational)解決如何創建對象的問題
結構型(structural)解決如何正確的組合類或對象的問題
行為型(behavioral)解決類或對象之間如何交互和如何分配職責的問題
重構
所謂重構是這樣一個過程:在不改變代碼外在行為的前提下,對代碼做出修改,以改進程序內部的結構,提供起可理解性,降低其修改成本。重構是一種有紀律的,經過訓練的程序整理方法。從本質上說,重構就是在代碼寫好之后改進它的設計。
posted on 2008-03-31 22:42
Macaulish 閱讀(742)
評論(0) 編輯 收藏 引用