架構、框架、設計模
架構、框架、設計模式
首先,架構與設計模式是偏重於理論層面的,而框架則更偏重於技術。
《設計模式》中對框架的定義是框架就是一組相互協作的類,對於特定的一類軟體,框架構成了一種可重用的設計。
軟體框架是專案軟體開發過程中提取特定領域軟體的共性部分形成的體系結構,不同領域的軟體專案有著不同的框架型別。框架的作用在於:由於提取了特定領域軟體的共性部分,因此在此領域內新專案的開發過程中程式碼不需要從頭編寫,只需要在框架的基礎上進行一些開發和調整便可滿足要求;對於開發過程而言,這樣做會提高軟體的質量,降低成本,縮短開發時間,使開發越做越輕鬆,效益越做越好,形成一種良性迴圈。
框架不是現成可用的應用系統。是一個半成品,需要後來的開發人員進行二次開發,實現具體功能的應用系統。框架不是“平臺”,平臺概念比較模糊可以是一種作業系統,一種應用伺服器,一種資料庫軟體,一種通訊中介軟體等地那個,因此平臺在應用平臺主要指提供特定服務的系統軟體,而框架更側重了設計,開發過程,或者可以說,框架通過呼叫平臺提供的服務而起的作用。
框架不是工具包或者類庫,呼叫API並不就是在使用框架開發,緊緊使用API是,開發者完成系統的主題部分,並不時地呼叫類庫實現特定任務。而框架構成了通用的、具有一般性的系統主體部分,二次開發人員只是像做填空一樣,根據具體業務,完成特定應用系統中與眾不同的特殊部分。
二、框架與架構之間的關係
框架不是構架(即軟體體系機構)。體系結構確定了系統整體結構、層次劃分,不同部分之間的協作等設計考慮。框架比架構更具體。更偏重於技術。確定框架後,軟體體系結構也隨之確定,而對於同一軟體體系結構(比如Web開發中的MVC),可以通過多種框架來實現。
三、框架與設計模式之間的關係
設計模式和框架在軟體設計中是兩個不同的研究領域。設計模式研究的是一個設計問題的解決方法,一個模式可應用於不同的框架和被不同的語言所實現;而框架則是一個應用的體系結構,是一種或多種設計模式和程式碼的混合體雖然它們有所不同,但卻共同致力於使人們的設計可以被重用,在思想上存在著統一性的特點,因而設計模式的思想可以在框架設計中進行應用。
框架和設計模式存在著顯著的區別,主要表現在二者提供的內容和致力應用的領域。
1)從應用領域上分,框架給出的是整個應用的體系結構;而設計模式則給出了單一設計問題的解決方案,並且這個方案可在不同的應用程式或者框架中進行應用。
2)從內容上分,設計模式僅是一個單純的設計,這個設計可被不同語言以不用方式來實現;而框架則是設計和程式碼的一個混合體,程式設計者可以用各種方式對框架進行擴充套件,進而形成完整的不同的應用。
3)以第二條為基礎,可以得出設計模式比框架更容易移植:框架一旦設計成形,雖然還沒有構成完整的一個應用,但是以其為基礎進行應用的開發顯然要受制於框架的實現環境;而設計模式是與語言無關的,所以可以在更廣泛的異構環境中進行應用。
相關文章
- 讀《前端架構設計》 兼談架構與框架前端架構框架
- RPC框架整體架構設計分析RPC框架架構
- 從MVC框架看MVC架構的設計MVC框架架構
- 如何進行雲端儲存架構框架設計?架構框架
- 架構設計思想-微服務架構設計模式架構微服務設計模式
- 架構設計架構
- 設計,架構,框架之間是什麼關係?架構框架
- Java程式設計師必備:微服務+開源框架+架構基礎+高效能架構+設計模式Java程式設計師微服務框架架構設計模式
- 遊戲架構 遊戲架構設計(8)遊戲架構
- Nginx架構設計Nginx架構
- groupcache 架構設計PCA架構
- Tumblr 架構設計架構
- 架構與設計架構
- 軟體架構, 軟體框架,設計模式的區別架構框架設計模式
- SOA之(2)——SOA架構基礎概念與設計框架架構框架
- 架構設計之一——基礎架構架構
- 架構師修煉之道(二)——架構?設計?架構師?架構
- Go遊戲服務端框架從零搭建(一)— 架構設計Go遊戲服務端框架架構
- 網站架構設計網站架構
- 架構設計方法論架構
- 面向架構程式設計架構程式設計
- 架構設計(九):估算架構
- 架構設計方法初探架構
- MVP架構設計 初探MVP架構
- 軟體架構設計架構
- WebService Soap架構設計Web架構
- 學習架構設計架構
- 企業架構設計?架構
- 如何設計app架構?APP架構
- 自己動手寫Web自動化測試框架(7):框架架構的設計Web框架架構
- 軟體架構設計原則和模式(上):分層架構設計架構模式
- spark架構設計&程式設計模型01Spark架構程式設計模型
- 微服務架構技術棧:程式設計師必須掌握的微服務架構框架詳細解析微服務架構程式設計師框架
- 【Apollo】(2)--- Apollo架構設計架構
- 秒殺架構模型設計架構模型
- Fresco架構設計賞析架構
- 小程式渲染架構設計架構
- UI架構設計的演化UI架構