《一線架構師實踐指南》讀後感(五)

什麼是概念架構

概念性架構界定系統的高層組件,以及它們之間的關係。概念性架構意在對系統進行適當分解,而不陷入細節。藉此,可以與管理人員、市場人員、用戶等非技術人員交流架構。概念性架構規定了每個組件的非正式規約及架構圖,但不涉及接口細節。

實際意義

1.不同系統的架構,爲什麼不同?
需求不同,所以架構不同。這裏需求包括了功能、質量、約束等方面。

2.架構設計中,應何時確立架構大方向的不同?
進行概念架構設計時應確立架構大方向。架構設計貴在有針對性,概念架構針對重大需求、特色需求、高風險需求的要求,給出高層次的解決方案——這就是概念架構的最重要意義。

實踐要領

重大需求塑造概念架構
ADMEMS方法Conceptual Arch階段核心理念:重大需求塑造概念架構,這裏重大需求應涵蓋功能需求、質量及約束3類需求的關鍵部分。

概念架構階段的3個步驟
1.初步設計。基於關鍵功能,藉助魯棒圖進行以發現職責爲目的的初步設計。
2.高層分割。對系統這個黑盒子進行高層切分,例如切分複雜系統爲多個二級系統,或者直接切分系統爲具體子系統。
3.考慮非功能需求

初步設計

初步設計對複雜系統的意義
1.架構師只有在設計複雜系統(或涉及不熟悉的領域,感受“挺複雜”)時才需要初步設計。
2.初步設計的目標:發現職責。無須展開架構設計細節。
後續的架構實際工作必然以初步設計爲基礎。

魯棒圖簡介
魯棒圖包括3種元素,分別是邊界對象、控制對象、實體對象:
邊界對象對模擬外部環境和未來系統之間的交互進行建模。邊界對象負責接收外部輸入,處理內部內容的解釋,並表達或傳遞響應的結果。
控制對象對行爲進行封裝,描述用例中事件流的控制行爲。
實體對象對信息進行描述。

高層分割

高層分割的兩種實踐套路:
“高層分割”的兩種實踐討論:切系統爲系統;切系統爲子系統

切系統爲系統
1)系統比較複雜,需要進行兩級高層切分。
2)首先,把系統切成更小一級的系統,每個更小一級的系統都可以有單獨的需求、設計、實現…
3)之後,針對每個“更小一級的系統”,進行“切系統爲子系統”…

切系統爲子系統

最常見就是分層,比如常見的MVC,MVVM模式

分層式概念架構

分層“3+1種”流派

  • Layer:邏輯層

    邏輯層重視職責的劃分,職責之間常常是上層使用下層的關係——但是不關心上層和下層是否能分佈在不同的機器。

  • Tier:物理層

    物理層指能分佈在不同機器上的軟件單元,不同物理層之間必須有跨機器訪問的能力——可以通過遠程條用、或通信協議等方式。

  • 按通用性分層

    通用性不同的部分劃歸不同的層,以此作爲系統的總體切分方式一般而言,通用程度越大,所處的層次越靠下。例如嵌入式系統分層架構通用性越強的層,位於中間,硬件相關部分,以及應用特定部分分別位於下層和上層

  • 技術堆疊

    技術堆疊不是獨立的架構模式,而是基於分層架構(或其他架構模式)提供的進一步說明。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章