架構設計之充分解耦的實現

2021-09-07 18:33:06 字數 931 閱讀 8058

模組,元件,類,三種層次的定義

可擴充套件解耦

高併發高效能

橫向擴容

高可用

其中1-2為了解決複雜業務,3-6為了解決業務增長問題

上圖就是一種耦合,模組a的**內方法直接去訪問模組b中的乙個方法。關於這種呼叫我們也可以稱為具象呼叫。

引入乙個概念:越抽象越趨於穩定,越具象越趨於紊亂。

介面是常用的解耦方式也可以稱為抽象呼叫,只要介面穩定,實現**隨意改動不影響調方**。

但是這種方式有乙個致命改動就是介面變動。如上圖ia介面變動所有呼叫ia的地方均需改動。當然可以利用介面卡設計模式來加強介面穩定性。

缺陷:介面穩定性難以保證,介面一旦變動,相關業務邏輯**均需要修改。

假設a模組要呼叫b模組的功能,但是又不去調b的任何函式,甚至模組可以直接摘掉,也不影響系統執行,僅僅是缺少了這部分功能而已。

就像火車一樣,摘下來一節車廂裝上去一節車廂,火車都可以正常執行。

如上圖所示,a要去調b的功能具體實現步驟如下,此過程僅僅說明了單次呼叫,沒有進行返回引數的回寫。(原理相同,在進行一次領域模型寫入,與訊息傳遞即可)

a模組先將傳入引數儲存到領域模型內

將呼叫訊息上載到訊息中心

訊息中心將訊息呼叫推到b模組

b模組去獲取領域模型,至此完成引數傳遞及呼叫

系統設計之架構設計

架構設計這個詞聽的非常的多,但真正何謂架構設計呢?可能要你真的來講還真的講不太清楚,很多人都知道架構設計是對系統進行分層 分模組進行設計,但又有多少人知道這步應該怎麼去做呢,往往很多的programmer在剛進入架構設計這個領域的時候,受到以前做模組的那種影響,把自己的眼光限定到了具體的模組實現上去...

系統設計之架構設計

架構設計這個詞聽的非常的多,但真正何謂架構設計呢?可能要你真的來講還真的講不太清楚,很多人都知道架構設計是對系統進行分層 分模組進行設計,但又有多少人知道這步應該怎麼去做呢,往往很多的programmer在剛進入架構設計這個領域的時候,受到以前做模組的那種影響,把自己的眼光限定到了具體的模組實現上去...

架構設計之MVC

一 簡介 mvc model view controller,模型 檢視 控制器 是xerox parc在二十世紀八十年代為程式語言smalltalk 80發明的一種軟體設計模式,已被廣泛使用。一種軟體設計典範,用一種業務邏輯 資料 介面顯示分離的方法組織 將業務邏輯聚集到乙個部件裡面,在改進和個性...