上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.10 记录架构决策:轻量级架构决策记录
架构是一种在持续变化,并且不断演进的事物。在一个长期的项目里,我们会不断地打开Wiki、文件中心来更新文档。而遗憾的是,我们可能会忽略做出这个架构设计的原因。因此,我们需要在项目中实施轻量级架构决策记录。它同代码一起,记录软件架构在其生命周期里发生的变化、演进,等等。
轻量级架构决策记录是一种轻量级的架构记录方式,通常使用像Markdown这样的轻量级文本格式语言,它们既方便于开发人员编写,又适合于版本软件管理。同时,它还能结合到项目的代码中。架构决策记录将按顺序和数字编号,并且不会被重复使用。这些记录包含了影响架构、非功能需求、依赖关系、接口或构建系统技术等内容。
下面是一个由adr命令生成的adr/0001-examples.md架构决策记录的示例文件:
# 1. examples 日期: 2018-07-30 ## 状态 2018-07-30 提议 ## 背景 在这里补充上下文... ## 决策 在这里补充上决策信息... ## 后果
在这个记录中,它由以下六部分组成:
◎ 标题。
◎ 日期。
◎ 描述决策相关的状态,包含提议、通过、完成、已弃用、已取代等。
◎ 价值中立的、用于描述事实上下文的背景。
◎ 应对这种场景的相应的决策。
◎ 记录应用决策后产生的结果。
通过它们,我们可以清楚地了解与技术决策相关的知识,给未来的开发人员做好知识铺垫,以便对系统进行进一步的演进。