官术网_书友最值得收藏!

1.4 架構決策記錄

記錄架構決策的最有效方式之一是通過架構決策記錄(ADR;https://adr.github.io)。ADR源自Michael Nygard的一篇博客(https://oreil.ly/yDcU2),后來被Thoughtworks Technology Radar(https://oreil.ly/0nwHw)評定為“采納”。一份ADR由一個簡短的文本文件構成(通常只有一兩頁長),描述一個具體的架構決策。雖然ADR可以使用純文本編寫,但人們通常會使用文本文檔格式,例如AsciiDoc(http://asciidoc.org)或Markdown(https://www.markdownguide.org)。ADR也可以使用wiki頁面模板來編寫。在Fundamentals of Software Architecture(O'Reilly)一書中,我們用整整一章來介紹ADR。

我們將使用ADR來記錄本書中的各種架構決策。對于每一個架構決策,我們將使用如下的ADR格式:

ADR:包含架構決策的簡短名詞短語

上下文(context)

在該部分,我們會加一兩句話來描述它所要解決的問題,并羅列可選的解決方案。

決策(decision)

我們將在這里詳述架構決策,并解釋為什么這樣做。

后果(consequence)

該部分會列舉采用這個架構決策后產生的影響,并討論為此考慮的權衡。

對架構師來說,記錄決策是重要的,但保證決策被正確地執行則更加重要。幸運的是,現代工程實踐使得我們可以通過架構適應度函數(architecture fitness function)來自動化很多常見的治理問題。

主站蜘蛛池模板: 东明县| 讷河市| 苗栗县| 东至县| 隆回县| 闸北区| 太和县| 石狮市| 池州市| 大厂| 察隅县| 宜兰县| 海原县| 新津县| 绍兴县| 漳平市| 孟村| 东方市| 平湖市| 张家川| 凯里市| 阳泉市| 嘉禾县| 乾安县| 改则县| 武川县| 桃源县| 化隆| 漳州市| 呼玛县| 前郭尔| 阜新市| 崇左市| 罗甸县| 沧州市| 西平县| 柯坪县| 梅河口市| 庄浪县| 兴安盟| 衢州市|