程序員必知的7種軟件架構(gòu)模式
分層架構(gòu)
多層架構(gòu)
管道 - 過濾器架構(gòu)
客戶端 - 服務(wù)器架構(gòu)
模型 - 視圖 - 控制器架構(gòu)
事件驅(qū)動架構(gòu)
微服務(wù)架構(gòu)
一個(gè)很流行的 n 層架構(gòu)示例第一個(gè)概念是,每一層都有特定的角色和職責(zé)。例如,展現(xiàn)層負(fù)責(zé)處理所有的用戶界面。分層架構(gòu)的這種關(guān)注點(diǎn)分離,讓構(gòu)建高效的角色和職責(zé)非常簡單。 第二個(gè)概念是,分層架構(gòu)模式是一個(gè)技術(shù)性的分區(qū)架構(gòu),而非一個(gè)領(lǐng)域性的分區(qū)架構(gòu)。它們是由組件組成的,而不是領(lǐng)域。 最后一個(gè)概念是,分層架構(gòu)中的每一層都被標(biāo)記為封閉或者開放。封閉層意味著請求從一層移到另一層,它必須通過它正下面的這一層才能達(dá)到下面這一層的再下一層。請求不能跳過任何層。
封閉層和請求訪問
一個(gè)多層模式示例:消費(fèi)者網(wǎng)站 J2EE
管道過濾器模式producer( source):一個(gè)過程的起點(diǎn)。transformer ( map):對一些或所有數(shù)據(jù)進(jìn)行轉(zhuǎn)換。tester ( reduce):測試一個(gè)或多個(gè)條件。consumer ( sink):終點(diǎn)。


模型,包含應(yīng)用程序的數(shù)據(jù)。 視圖,顯示部分底層數(shù)據(jù)并與用戶交互。 控制器,在模型和視圖之間進(jìn)行中介并管理狀態(tài)更改的通知。

OrderCreated事件。Customer Service 接收到這個(gè)事件并嘗試為這個(gè) Order 扣除信用。然后發(fā)布一個(gè) Credit Reserved 事件或者 CreditLimitExceeded(超出信用限額)事件。Order Service 接收到 Customer Service 發(fā)送的事件并將訂單狀態(tài)更改為已核準(zhǔn)或已取消。

--完-- 推薦閱讀:
怎么接私貨?這個(gè)渠道你100%有用!請收藏!
喜歡文章,點(diǎn)個(gè)在看
評論
圖片
表情

