{在此填写标题}
!!! info
**状态**:{ 已提议 | 评审中 | 已接受 | 已拒绝 | 已取代 | 已弃用 }
**更新日期**:{YYYY-MM-DD}
摘要
{这是你的 ADR 的“执行摘要”或“电梯演讲”。用几句简洁的话(通常 2 到 4 句),清楚地陈述本 ADR 所针对的核心问题、疑问或机会。简要提示所做的决策或关注的领域。目标是帮助读者快速了解这份 ADR 的内容,并判断它是否与自己相关,而无需阅读整份文档。可以把它看作技术论文的摘要,或对主题的一段非常简短的介绍。}
驱动因素
{本节解释为什么现在要做出这项决策。清楚地阐述促使做出这项架构决策的主要动机、需求或问题。思考其背后的原因和压力。}
{例如:我们正在开发一项新功能/新能力,需要……}
{例如:我们需要提升性能、可访问性,清理技术债务……}
{例如:用户反馈表明……}
{例如:当前的做法带来了这些限制……}
选项
{在这里列出你正在考虑的各种选项。请只陈述事实,避免发表意见,分析在下一节中进行。包括简明的描述、相关文档或示例的链接。
请包含你探讨过的所有重要备选方案,即使它们最终没有被选中。目标是在你开始评估之前,让读者对每个备选方案有清晰、不带偏见的了解。}
{选项 1 标题}
{描述该选项,提供摘要,列出事实,提供链接等。}
{选项 n 标题}
...
选项分析
{在这里对“选项”一节中列出的每个选项进行批判性评估。针对每个选项,平衡地说明其优点、缺点以及任何其他相关的考虑或权衡。请具体说明,并尽可能将你的论点与“驱动因素”联系起来。
可以考虑以下方面:
成本(开发、运营、许可)
复杂性(实施、维护、学习曲线)
风险(技术、运营、安全)
与架构原则或现有标准的一致性
对性能、可扩展性、可用性、可维护性、安全性等的影响
可根据需要包含任意数量的优点/缺点/其他陈述。 }
{选项 1 评估}
优点:{该选项的某项具体优势或益处。}
缺点:{与该选项相关的某项具体劣势、风险或成本。}
其他:{不严格属于优点或缺点的相关要点。}
{选项 n 评估}
...
建议
{在这里清楚地陈述最终决策,并明确指出所选的选项。详细解释为什么选择该选项。你应当清楚地阐明所选选项如何最好地满足“驱动因素”,并满足关键需求或解决所述问题。}
后果
{本节为可选。}
{既然已经做出决策,预期的结果和影响(包括正面和负面)是什么?做出这项决策意味着接受了哪些已知的限制、成本或风险?这项决策将如何影响不同的利益相关者、其他系统、开发实践、运维流程或用户体验?}
优点:{该决策预期带来的某项具体积极成果或益处。}
缺点:{该决策所导致的某项被接受的具体缺点、成本或风险。}
其他:{不严格属于优点或缺点的某项后果。}
确认
{本节为可选。}
{概述将如何验证该决策的实施,以及如何确保持续遵守。这有助于表明该决策不仅仅停留在理论层面,而是会被积极付诸实践并受到监控。
你将如何检查决策是否已被正确实施?(例如:代码评审、特定测试、演示、同行评审)。
随着时间推移,将如何保持对该决策的遵守?(例如:自动化检查、定期审计、更新团队指南、培训)。
是否有特定的指标或指示器能表明该决策正在实现其预期的积极成果?(例如:性能基准、采用率、特定错误的减少、用户反馈评分)。
谁负责监督此事?如果没有遵循该决策,会发生什么?}
更多信息
{本节为可选。}
{使用本节提供任何支持该决策、补充背景或指导未来行动的补充信息。指向其他决策和资源的链接也可以放在这里。
你可以简要说明哪些人参与了决策过程,以及是否/如何达成共识。你还可以建议一个时间范围或特定事件,它们可能会促使将来重新评估这项决策。}