關注點分離

2021-06-12 19:18:34 字數 832 閱讀 2525

好的架構設計必須把變化點錯落有致地封裝到軟體系統的不同部分。要做到這一點,必須進行關注點分離

iuar jacobson

在《aosd

中文版》中寫道:

好的架構必須使每個關注點相互分離,也就是說系統中的乙個部分發生了變化,不會影響其他部分。即使需要改變,也能夠清晰地識別出那些部分需要改變。如果需要擴充套件架構,影響將會最小化,已經可以工作的每個部分都將繼續工作。

上述論述中的三句話:

系統中的乙個部分發生了變化,不會影響其他部分。」

即使需要改變,也能夠清晰地識別出那些部分需要改變。」

如果需要擴充套件架構,將影響最小化,已經可以工作的每個部分都將繼續工作。」

可以說是對軟體開發者的奮鬥目標的最精闢的論述。也是軟體設計要達到的最高目標。

關注點分離是實現上述目標的基本方法。關注點分離的基本方法有:

按職責分離關注點

將乙個功能的實現分成展現層、業務層和資料層就是典型的按職責進行關注點分離的例子。

按通用性分離關注點

不同的通用程度意味著變化的可能性不同。可以將組成系統的元素分成技術通用部分、領域通用部分和特定應用部分。技術通用部分具有廣泛的通用性,領域通用部分在對應領域具有普遍通用性。特定應用部分一般沒有通用性。

按粒度級別分離關注點

在軟體架構設計中,可以優先考慮大粒度的子系統和在整合系統中的互操作,忽略子系統的進一步分離。

效能測試關注點

作為軟體測試人員,我們經常會遇到壓力測試 穩定性測試 功能測試 效能測試 相容性測試等等,有時在工作中潛移默化的就已經在使用這些測試方法中包含的點,但是我們沒有太在意去總結梳理,那麼每個測試方法的關注點是什麼?如 在效能測試的過程中我們應該最該關注什麼?等等的思考呢,經過幾次的總結,今天首先將效能測...

APP測試關注點

一 功能測試 1.頁面展示 2.正常邏輯 3.異常邏輯 包括資料丟失,資料錯誤,錯誤資料如何處理,其他正確資料如何處理 4.使用者體驗 5.介面功能測試二 效能測試 1.服務端資源消耗 cpu記憶體 磁碟io 網路2.客戶端資源消耗 cpu記憶體 磁碟io 流量 電量 跟流量有直接的關係 3.頁面渲...

高併發的關注點

一 引數配置 1 jvm 2 jdbc 資料庫datasource 二 技術設計 1 資料庫訪問 關聯式資料庫 分布式資料庫 檔案系統 2 快取 本地快取 分布式快取 3 多執行緒 執行緒池 本地佇列 4 佇列 三 集群 1 應用伺服器分布式集群 2 資料庫集群 3 分布式快取 四 其他工具 1 n...