一線架構師實踐指南一書第三編Refined Architecture階段 閱讀感想

1.關於概念架構和細化架構   1)層次:系統 用戶 業務 角度:功能 約束 質量屬性   2)架構=組件+交互   3)概念架構僅關注高層組件,對高層組件的“職責”進行了籠統的界定,並給出了高層組件之間的相互關係,其不涉及接口細節(只有抽象組件和抽象交互機制)。這些都是預習書本時玉帶的知識點。

  對於什麼是架構?每個角色都有自己的關注點,不同涉衆看待軟件架構的視角自然也是不同的。不過也不是無跡可尋,大致可以從五個角度來劃分:邏輯(職責劃分) 物理(物理節點安排) 開發(程序單元組織) 數據(持久化設計) 運行(控制流組織)。也就是五視圖,每個試圖,一個思維,一組技術關注。這便是細化架構。

  架構最重要的一點,就是它能把難以處理的大問題分解成便於管理的小問題。就劃分子系統策略,可歸納爲3種:

  分層的細化:可簡單地概括爲MVC模式,模型(model)-視圖(view)-控制器(controller),它們各自處理自己的任務

  分區的引入:引入分區,以便於支持深度優先的迭代開發

  機制的提取:基於具體類的協作則算不上機制、基於具體類的協作則算不上機制、基於接口(或抽象類)的協作是機

制,實現不同的最終功能可以重用同一個機制。

而劃分子系統的依據4個重要原則:
  職責不同的單元劃歸不同子系統
  通用性不同的單元劃歸不同子系統
  需要不同開發技能的單元劃歸不同子系統
  堅固工作量的相對均衡,進一步切分太大的子系統

  協作決定接口,"分"是手段,"合"是目的,不能合在一起支持更高層次功能的模塊,有何用?
設計模式是基礎,要站在各個角度看軟件架構。並且通過質疑“對不對”和“好不好”,可以發現新職責,或者調整協作方式。

 

 

 

開發架構的設計內容:(1)將“邏輯結構”映射爲程序單元開發技術選項:開發語言,平臺工具

要自主編寫的源程序可重用的庫、框架其他方式(shell腳本,平臺配置文件)

此外重用也是一個重點。

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