架構、框架、設計模

一劍平江湖發表於2013-06-01

架構、框架、設計模式


  首先,架構與設計模式是偏重於理論層面的,而框架則更偏重於技術。

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

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

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

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

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

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

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

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

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

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

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

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

相關文章