軟體體系結構是軟件的基礎。適當的體系結構是軟件成功的一個重要因素。通常,大的軟件公司都擁有專門的架構師職位,而且只有高級程序員能勝任。下面就讓小編來給大家分享一下,讓我們一起來看看吧。
常見的五種軟件架構
分層模式用于對結構化設計的軟件進行層次拆解,每個層次為獨立的抽象,為其上層抽象提供服務。
系統通常被拆分為以下四個層次:
表示層(也稱為 UI 層)
應用層(也稱為服務層)
業務邏輯層(也稱為領域層)
數據訪問層(也稱為持久化層)
使用場景
通用桌面應用程序
電子商務 Web 應用
客戶端/服務器模式由兩個部分構成:一個服務器與多個客戶端。服務器組件同時為多個客戶端組件提供服務。客戶端向服務器發啟服務請求,服務器將相應服務信息回應給客戶端。此外,服務器持續監聽來自客戶端的請求。
使用場景
電子郵件、文件共享及銀行業務等在線應用
主/從模式由兩個部分構成:主設備與從設備。主服務組件將作業分發給多個從設備組件,并根據這些從設備反饋的結果,計算生成最終結果。
使用場景
數據庫復制,主數據庫被認定為權威數據源,各從數據庫與主數據保持同步
在計算機系統中通過總線互連的各設備(包括主設備與從設備)
管道/過濾器模式用于構造用于生成及處理數據流的系統。每個處理過程都封裝在過濾器(filter)組件之中,要處理的數據通過 管道(pips) 進行投遞。管道同時用于作為 過濾器(filter) 間的緩沖及同步。
使用場景
編譯器,一系列的過濾器用于詞法分析、語法分析、語義分析及代碼生成
生物信息學的工作流
代理模式用于在結構化系統中對組件解耦。系統內各組件間采用遠過程調用(remote service invocations)的方式交互。代理(Broker)組件充當組件間通訊的協調角色。
提供服務的組件將其能力(服務以及特性)發布給代理,客戶端均向代理請求服務,由代理將請求重定向到先前已發布過對應服務的組件進行處理。
使用場景
消息中間件軟件:Apache ActiveMQ,Apache Kafka,RabbitMQ 與 JBoss 等等
對等模式中的組件稱之為對等體(peer),對等體既作為向其他對等體請求服務的客戶端,同時也做為響應其他對等體請求的服務端。對等體可以在運行過程中動態地改變其角色,即,既可以單獨做為客戶端或服務端運行,又可同時作為客戶端與服務端運行。
使用場景
網絡文件共享:Gnutella 與 G2)
流媒體協議:P2PTV 與 PDTP.
流媒體應用: Spotify.
首先要做的是選擇合適的體系結構來指導系統的功能和質量屬性設計,然后再決定軟件開發。所以,在把軟件體系結構應用到設計中之前,必須了解通用的體系結構模式。以上就是小編為大家分享的關于“”的全部內容啦,希望能夠給大家帶來幫助哦。
[免責聲明]
文章標題: 常見的五種軟件架構
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。