前端架构:从入门到微前端
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

3.10 记录架构决策:轻量级架构决策记录

架构是一种在持续变化,并且不断演进的事物。在一个长期的项目里,我们会不断地打开Wiki、文件中心来更新文档。而遗憾的是,我们可能会忽略做出这个架构设计的原因。因此,我们需要在项目中实施轻量级架构决策记录。它同代码一起,记录软件架构在其生命周期里发生的变化、演进,等等。

轻量级架构决策记录是一种轻量级的架构记录方式,通常使用像Markdown这样的轻量级文本格式语言,它们既方便于开发人员编写,又适合于版本软件管理。同时,它还能结合到项目的代码中。架构决策记录将按顺序和数字编号,并且不会被重复使用。这些记录包含了影响架构、非功能需求、依赖关系、接口或构建系统技术等内容。

下面是一个由adr命令生成的adr/0001-examples.md架构决策记录的示例文件:

        # 1. examples
        日期: 2018-07-30
        ## 状态
        2018-07-30 提议
        ## 背景
        在这里补充上下文...
        ## 决策
        在这里补充上决策信息...
        ## 后果

在这个记录中,它由以下六部分组成:

◎ 标题。

◎ 日期。

◎ 描述决策相关的状态,包含提议、通过、完成、已弃用、已取代等。

◎ 价值中立的、用于描述事实上下文的背景。

◎ 应对这种场景的相应的决策。

◎ 记录应用决策后产生的结果。

通过它们,我们可以清楚地了解与技术决策相关的知识,给未来的开发人员做好知识铺垫,以便对系统进行进一步的演进。