軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

一、架構

軟體架構(software architecture)是一系列相關的抽象模式,用於指導大型軟體系統各個方面的設計。軟體架構是一個系統的草圖。軟體體系結構是構建計算機軟體實踐的基礎。也稱為軟體體系結構,簡單地說就是一種設計方案,將使用者的不同需求抽象成元件,且能夠描述元件之間的通訊和呼叫。軟體架構會分析工程中的問題,針對問題設計解決方案,針對解決方案分析應具有的功能,針對功能設計軟體系統的層次和模組及層次模組之間的邏輯互動關係,確定各個功能如何由這些邏輯實現。開發人員可以根據軟體架構分析出來的層次和架構進行軟體編寫。

架構可以類比於硬體裡面的拓撲圖,而架構根據展示的內容不同又可以分為應用架構、業務架構、技術架構、資料架構。

應用架構

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

技術架構

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

業務架構

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

資料架構

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

二、框架

軟體框架(software framework),通常指的是為了實現某個業界標準或完成特定基本任務的軟體元件規範,也指為了實現某個軟體元件規範時,提供規範所要求之基礎功能的軟體產品。

軟體框架,是軟體開發過程中提取軟體的共性部分形成的體系結構。框架不是現成可用的應用系統,而是一個半成品,是一個提供了諸多服務,供開發人員進行二次開發,實現具體功能的程式實體。

框架與架構的關係:框架不是架構,框架比架構更具體,更偏重於技術,而架構更偏重於設計;架構可以透過多種框架來實現。

舉個例子 EXPRESS 框架:Express是一個基於Node平臺的web應用開發框架,它提供了一系列的強大特性,幫助你建立各種Web應用。

可以使用npm install express命令進行下載。

提供了方便簡潔的路由定義方式

對獲取HTTP請求引數進行了簡化處理

對模板引擎支援程度高,方便渲染動態HTML頁面

提供了中介軟體機制有效控制HTTP請求

擁有大量第三方中介軟體對功能進行擴充套件

三、模式

設計模式強調的是一個設計問題的解決方法,是一套被反覆使用、多數人知曉的、經過分類編目的、程式碼設計經驗的總結。

框架與設計模式的關係:設計模式研究的是對單一問題的設計思路和解決方法,一個模式可應用於不同的框架和被不同的程式語言所實現;而框架則是一個應用的體系結構,是一種或多種設計模式和程式碼的混合體。設計模式的思想可以在框架設計中進行應用。

架構與設計模式的關係:設計模式研究的是對單一問題的設計思路和解決方法,範疇比較小;而架構是高層次的針對體系結構的一種設計思路,範疇比較大。一個架構中可能會出現多個設計模式的思想。

四、模組

根據不同的標準,通常會說程式模組或功能模組,程式模組指的是一段能夠實現某個目標的成員程式碼段,功能模組則用來說明一個功能所包含的系統行為。定義模組的原則是:高內聚和低耦合。

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

五、元件

元件是封裝了一個或多個程式模組的實體。元件強調的是封裝,利用介面進行互動。元件也稱為構建。外掛是元件的一個子類,就是將元件中具有某些特點的元件歸為外掛。

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

六、外掛

外掛屬於元件,外掛是元件的一個子類,就是將元件中具有某些特點的元件歸為外掛。外掛是一種電腦程式,透過和應用程式的互動,來為應用程式增加一些特定的功能,僅靠外掛是無法正常執行的,需要依賴於應用程式才能發揮自身功能。外掛和應用程式之間透過介面進行互動。

七、控制元件

視覺化的元件。

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡

八、中介軟體

中介軟體是指網路環境下處於

作業系統、資料庫等系統軟體和應用軟體

之間的一種起連線作用的分散式軟體,主要解決異構網路環境下分散式應用軟體的互連與互操作問題,提供標準介面、協議,遮蔽實現細節,提高應用系統易移植性。

軟體架構、框架、模式、模組、元件、外掛、中介軟體一文打盡