雷達嗶嗶嗶 - #3-Architectural fitness function
1. 推薦度:
TRIAL[ 2017.11 | 2018.05 ]
2. 所屬象限:
Techniques
3. 關注問題:
- 技術架構腐化帶來的系統響應度降低,可維護性下降,技術債纏身。
- 而盲目優化或是單純的技術驅動的架構優化又往往偏離初衷,容易過度優化,不但沒有解決之前的問題,還會引入新的問題。
- 那……如何度量技術架構的好與壞?如何拿捏技術架構演進的度?如何用目標驅動的方式做技術架構的持續演進?如何衡量技術架構演進的成果?如何進行架構守護?
4. 解讀:
Architectural fitness function(適應度函式)借鑑自進化計算,被用來衡量方案對滿足目標的適合度。
當定義演進式演算法時,演算法設計者會尋求更優解,而適應度函式則定義了在此上下文中“更優”的含義。
將適應度函式應用於軟體架構,則為系統的架構演進提供了一個度量的目標,開啟了 “【目標(測試)驅動架構演進】” 的新時代。
記住 ,如果你無法為系統演進,架構升級優化定義出度量的Metrics,並通過Fitness Function寫一個測試出來驅動和視覺化你的架構演進成果。那就表明你還沒有想清楚架構演進要解決的問題,就先不要開始!
《演進式架構》一書定義了架構適應度函式的概念,為衡量架構特徵提供了一個客觀全面的方法,包括已有的驗證標準,比如單元測試、業務指標、監控等等。

Building Evolutionary Architectures
感興趣的可以瞭解一下。