無暇程式碼 :

整潔的軟體設計與架構篇
#4
2018.12.2

架構

115

使系統在開發、部署、運行與維護上更便利的樣貌

開放選項

119

  • 制定策略方向
  • 延緩細節決定
  • 保持軟體的彈性

使用案例

126

  • 描述系統功能的意圖
  • 架構必須支援案例
  • 系統的頭等元素,開發者不需尋找

運行架構

126

  • 考量使用案例的運行狀況
  • 可擴展的運行架構

開發架構

127

任何組織所設計出的系統,其結構都為該組織通訊結構的副本

部署架構

127

目標讓系統能立即部署、正確啟動、整合及監控

重複

131

對於重複感到恐懼的陷阱

解耦模式

132

  • 原始碼層級
  • 部署層級
  • 服務層級

邊界

135

重要與不重要之間的界線

邊界剖析

147

  • 單片:函式呼叫 
  • 元件:動態鏈結後,函式呼叫
  • 本地行程:系統呼叫
  • 服務:透過網路呼叫

策略

153

程式是將輸入轉換為輸出的策略詳細描述

層級

154

  • 距離輸入與輸出點越遠則層級越高
  • 依賴方向由層級決定
  • 低層級依賴高層級

業務規則

157

系統存在的核心價值,
透過因此產出的程式來賺錢、省錢、或達到商業目的,
為系統中最獨立且複用性最高的部分。

業務實體

158

  • 業務規則
  • 業務資料

使用案例

159

  • 程式特定業務規則
  • 較業務實體層級低

請求與回應

161

  • 簡單的資料結構
  • 不依賴任何東西

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

By Alex Chen

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

  • 706