10 種常見的軟件架構(gòu)模式
上一篇推文:8 年開發(fā),連登陸接口都寫這么爛...

什么是架構(gòu)模式?
架構(gòu)模式是在軟件架構(gòu)上針對特定上下文件解決常見問題的通用、可復(fù)用的解決方案。架構(gòu)模式與軟件設(shè)計模式相似,但范圍更廣。
在本文中,我將簡要解釋以下10種常見的體架構(gòu)模式及其用法和優(yōu)缺點。
1、分層模式
2、客戶服務(wù)器模式(CS)
3、主從模式
4、管道過濾器模式
5、代理模式
6、P2P模式
7、事件總線模式
8、MVC模式
9、黑板模式
10、解釋器模式
1、分層模式
信息系統(tǒng)中常見的四層模式如下:
表示層(也稱為UI層)
應(yīng)用層(也稱服務(wù)層)
業(yè)務(wù)邏輯層(也稱領(lǐng)域?qū)樱?/span>
數(shù)據(jù)訪問層(也稱持久化層)
用途
通用桌面應(yīng)用
電子商務(wù)應(yīng)用

2、客戶端服務(wù)器模式
用途

3、主從模式
用途
在數(shù)據(jù)庫復(fù)制中,將主數(shù)據(jù)庫視為中心負(fù)責(zé)寫數(shù)據(jù),從數(shù)據(jù)庫與主數(shù)據(jù)庫同步。
連接到計算機(jī)系統(tǒng)總線上的外設(shè)(主驅(qū)動器和從驅(qū)動器)。

4、管道過濾器模式
用途
編譯器。連續(xù)的過濾器分別執(zhí)行:詞法分析、解析、語義分析和代碼生成。
信息處理工作流

5、代理模式
服務(wù)器將其功能(服務(wù)和特征)發(fā)布到代理。客戶端向代理請求服務(wù),然后代理根據(jù)注冊中心將客戶端請求重定向到合適的服務(wù)。
用途

6、P2P模式
用途
文件共享網(wǎng)絡(luò)比如Gnutella和G2
基于加密貨幣的產(chǎn)品,如比特幣和區(qū)塊鏈

7、事件總線模式
用途
安卓開發(fā)
通知服務(wù)

image
8、MVC模式(model-view-controller)
1、模型-包含核心功能和數(shù)據(jù)
2、將信息顯示給用戶(可以定義多個視圖)
3、處理來自用戶的輸入
這樣做是為了將信息的內(nèi)部表示與信息呈現(xiàn)給用戶和從用戶接受信息的方式分離開來。它解耦了組件,并允許高效的代碼重用。
用途

9、黑板模式
黑板-結(jié)構(gòu)化的全局內(nèi)存包含解決方案對象
知識源-具有自己表示形式的專用模塊
控制組件-選擇、配置和執(zhí)行模塊。
所有的組件都可以訪問黑板。組件可以生成添加到黑板上的新數(shù)據(jù)對象。組件在黑板上尋找特定類型的數(shù)據(jù),并通過與現(xiàn)有的知識源進(jìn)行模式匹配來找到這些數(shù)據(jù)。
用途
語音識別
車輛識別與跟蹤
蛋白質(zhì)結(jié)構(gòu)識別
聲納信號解析

10、解釋器模式
用途
數(shù)據(jù)庫查詢語言,如SQL。
用于描述通信協(xié)議的語言。

逆鋒起筆是一個專注于程序員圈子的技術(shù)平臺,你可以收獲最新技術(shù)動態(tài)、最新內(nèi)測資格、BAT等大廠的經(jīng)驗、精品學(xué)習(xí)資料、職業(yè)路線、副業(yè)思維,微信搜索逆鋒起筆關(guān)注!
