掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
有沒有想過(guò)企業(yè)規(guī)模的系統(tǒng)是如何設(shè)計(jì)的?在主要的軟件開發(fā)開始之前,我們必須選擇一個(gè)合適的架構(gòu),為我們提供所需的功能和質(zhì)量屬性。因此,在將它們應(yīng)用于我們的設(shè)計(jì)之前,我們應(yīng)該了解不同的體系結(jié)構(gòu)。

什么是架構(gòu)模式?
根據(jù)維基百科,
架構(gòu)模式是一種通用的、可重用的解決方案,用于解決給定上下文中軟件架構(gòu)中常見的問(wèn)題。架構(gòu)模式類似于軟件設(shè)計(jì)模式,但范圍更廣。
在本文中,我將簡(jiǎn)要解釋以下10種常見的體系結(jié)構(gòu)模式及其用法、優(yōu)缺點(diǎn)。
1. 分層模式
此模式可用于構(gòu)造可分解為子任務(wù)組的程序,每個(gè)子任務(wù)都處于特定的抽象級(jí)別。每一層都向上一層提供服務(wù)。
一般信息系統(tǒng)最常見的4層結(jié)構(gòu)如下。
用法
2. 客戶機(jī)-服務(wù)器模式
客戶機(jī)從服務(wù)器請(qǐng)求服務(wù),服務(wù)器向這些客戶機(jī)提供服務(wù)。此外,服務(wù)器繼續(xù)偵聽客戶端請(qǐng)求。
使用
3. 主從模式
這種模式由兩個(gè)部分組成:主人和奴隸。主組件在相同的從組件之間分配工作,并根據(jù)從組件返回的結(jié)果計(jì)算最終結(jié)果。
用法
4. 管道過(guò)濾方式
此模式可用于構(gòu)造生成和處理數(shù)據(jù)流的系統(tǒng)。每個(gè)處理步驟都包含在過(guò)濾器組件中。要處理的數(shù)據(jù)通過(guò)管道傳遞。這些管道可用于緩沖或同步目的。
用法
5. 經(jīng)紀(jì)人模式
此模式用于構(gòu)造具有分離組件的分布式系統(tǒng)。這些組件可以通過(guò)遠(yuǎn)程服務(wù)調(diào)用相互交互。
用法
6. 點(diǎn)對(duì)點(diǎn)模式
在這種模式中,單個(gè)組件稱為對(duì)等組件。
用法
7. 事件總線模式
將通知偵聽器已發(fā)布到其以前訂閱過(guò)的頻道的消息。
用法
8. 模型視圖控制器模式
這種模式,也稱為MVC模式,將交互式應(yīng)用程序分為三個(gè)部分:,
這樣做是為了將信息的內(nèi)部表示與信息呈現(xiàn)給用戶和接受用戶的方式分開。它分離組件并允許有效的代碼重用。
用法
9. 黑板模式
控制組件-選擇、配置和執(zhí)行模塊。
所有部件都能接觸到黑板。組件可能產(chǎn)生新的數(shù)據(jù)對(duì)象,這些對(duì)象被添加到黑板上。組件在黑板上查找特定類型的數(shù)據(jù),并可以通過(guò)與現(xiàn)有知識(shí)源的模式匹配來(lái)找到這些數(shù)據(jù)。
用法
10. 解析器模式
此模式用于設(shè)計(jì)解釋用專用語(yǔ)言編寫的程序的組件。它主要指定如何計(jì)算程序行,即用特定語(yǔ)言編寫的句子或表達(dá)式。其基本思想是為語(yǔ)言的每個(gè)符號(hào)建立一個(gè)類。
用法
架構(gòu)模式比較
下表總結(jié)了每種架構(gòu)模式的優(yōu)缺點(diǎn)。
原文:
https://towardsdatascience.com/10-common-software-architectural-patterns-in-a-nutshell-a0b47a1e9013

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流