構架、框架、設計模式之間的關係簡述

一、軟件體系結構和框架的定義

軟件體系結構的英文單詞是“architecture”. Architecture的基本詞義是建築、建築學、建築風格。

軟件體系結構雖然根植於軟件工程,但還處於一個研究發展的階段,迄今爲止還沒有一個爲大家所公認的定義。

《設計模式》中對框架的定義是框架就是一組相互協作的類,對於特定的一類軟件,框架構成了一種可重用的設計。

軟件框架是項目軟件開發過程中提取特定領域軟件的共性部分形成的體系結構,不同領域的軟件項目有着不同的框架類型。框架的作用在於:由於提取了特定領域軟件的共性部分,因此在此領域內新項目的開發過程中代碼不需要從頭編寫,只需要在框架的基礎上進行一些開發和調整便可滿足要求;對於開發過程而言,這樣做會提高軟件的質量,降低成本,縮短開發時間,使開發越做越輕鬆,效益越做越好,形成一種良性循環。

框架不是現成可用的應用系統。是一個半成品,需要後來的開發人員進行二次開發,實現具體功能的應用系統。框架不是“平臺”,平臺概念比較模糊可以是一種操作系統,一種應用服務器,一種數據庫軟件,一種通訊中間件等地那個,因此平臺在應用平臺主要指提供特定服務的系統軟件,而框架更側重了設計,開發過程,或者可以說,框架通過調用平臺提供的服務而起的作用。

框架不是工具包或者類庫,調用API並不就是在使用框架開發,緊緊使用API是,開發者完成系統的主題部分,並不時地調用類庫實現特定任務。而框架構成了通用的、具有一般性的系統主體部分,二次開發人員只是像做填空一樣,根據具體業務,完成特定應用系統中與衆不同的特殊部分。

二、框架與架構之間的關係

框架不是構架(即軟件體系機構)。體系結構確定了系統整體結構、層次劃分,不同部分之間的協作等設計考慮。框架比架構更具體。更偏重於技術涉嫌。確定框架後,軟件體系結構也隨之確定,而對於同一軟件體系結構(比如Web開發中的MVC),可以通過多種框架來實現。

三、框架與設計模式之間的關係

設計模式和框架在軟件設計中是兩個不同的研究領域。設計模式研究的是一個設計問題的解決方法,一個模式可應用於不同的框架和被不同的語言所實現;而框架則是一個應用的體系結構,是一種或多種設計模式和代碼的混合體雖然它們有所不同,但卻共同致力於使人們的設計可以被重用,在思想上存在着統一性的特點,因而設計模式的思想可以在框架設計中進行應用。

框架和設計模式存在着顯著的區別,主要表現在二者提供的內容和致力應用的領域。

1)、從應用領域上分,框架給出的是整個應用的體系結構;而設計模式則給出了單一設計問題的解決方案,並且這個方案可在不同的應用程序或者框架中進行應用。

2)、從內容上分,設計模式僅是一個單純的設計,這個設計可被不同語言以不用方式來實現;而框架則是設計和代碼的一個混合體,編程者可以用各種方式對框架進行擴展,進而形成完整的不同的應用。

3)、以第二條爲基礎,可以得出設計模式比框架更容易移植:框架一旦設計成形,雖然還沒有構成完整的一個應用,但是以其爲基礎進行應用的開發顯然要受制於框架的實現環境;而設計模式是與語言無關的,所以可以在更廣泛的異構環境中進行應用。

總之,框架是軟件,而設計模式是軟件的知識體,提升框架的設計水平。
 

 

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