無暇程式碼 :

整潔的軟體設計與架構篇
#5
2018.12.16

架構的目的

164

以使用者案例為中心確保滿足需求

框架

165

  • 架構對於框架保持開放
  • 框架應是工具,不是目的

可測試的架構

165

遠離框架針對案例進行單元測試

整潔的架構

168

  • 獨立於框架
  • 可測試
  • 獨立於UI
  • 獨立於資料庫
  • 獨立於任何外部代理

依賴規則

169

  • 架構內層為策略、外層為機制
  • 原始碼依賴由外向內
  • 外層改變不影響內層

架構分層

170

  • 實體層
  • 案例層
  • 介面轉接層
  • 框架驅動層

Humble Object 模式

176

  • 區隔核心邏輯和其他難以測試的部分
  • 使用額外的物件類別封裝代理核心邏輯
  • Presenter 與 View

部分邊界

181

  • 成本與易用考量
  • 無法再次分開的風險
  • 開發人員的紀律維持
  • 無強制性的簡易外觀模式

層與邊界

185

  • 處處都存在架構邊界
  • 邊界的實作與代價
  • 過度工程是十分糟糕的選擇

主元件

193

  • 系統初始的入口 
  • 建立各種工廠與策略處理
  • 通常是最髒的程式元件

[ Alex宅讀書 ] 無暇程式碼 : 整潔的軟體設計與架構篇 #5

By Alex Chen

[ Alex宅讀書 ] 無暇程式碼 : 整潔的軟體設計與架構篇 #5

  • 648