
設計持續交付架構 |
31
架構功能
Accelerate
(IT Revolution Press)的作者群Nicole Forsgren、Jez Humble 與
Gene Kim 在他們的 State of DevOps 研究中提出一系列的
能力
。這些關鍵的能
力以具有統計意義的方式促進軟體交付性能。其中的兩項重要的架構能力包括
使用鬆耦合架構(相較於高耦合的系統,可讓團隊獨立工作,而且在部署與測
試時需要較少的協調工作),以及授權團隊設計架構(可讓團隊選擇想要使用
的工具,將持續交付做得更好)。
同一群作者寫的State of DevOps Report 2017(
https://puppet.com/resources/
whitepaper/state-ofdevops-report
)研究報告展示最有可能實現持續交付的架構,
就是鬆耦合架構(以及鬆耦合團隊)。
高內聚
內聚
是元件內的元素互屬(belong together)的程度,在程式設計中,它被視為一個
模組或類別內的各個功能之間的關係強度。高內聚的模組通常比較好,因為高內聚與
軟體的一些理想特徵有關,包括穩健性、可靠性、復用性和可理解性。相較之下,低
內聚與不良的特徵有關,例如難以維護、測試、復用,甚至了解。你可以在
java.util.
concurrent
(
http://bit.ly/2DwCKXB
)套件找到很好的 Java 語言範例,它裡面的類別都以
內聚的方式,提供並行(concurrency)相關功能。典型的 Java 反例是
java.util ...