用途:为软件系统的架构设计提供决策引导,并产出结构化的设计文档,适用于从零设计新系统或重要功能、评估架构方案之间的权衡、创建架构决策记录(ADR)、审查现有架构在可扩展性、可靠性与可维护性方面的问题,以及拆分单体或规划迁移。
工作流程:第一步澄清需求,先收集功能需求、非功能需求(性能、可用性、安全、成本约束)、范围边界、既有约束(当前技术栈、团队技能、时间线),遇到模糊需求应先向用户确认。第二步识别组件,将系统拆分为数据存储、服务或模块、接口(API、事件、共享数据库、文件)、外部依赖。第三步评估备选方案,对每个重要决策记录至少两个选项,并比较复杂度、可扩展性、运维成本、团队熟悉度等标准,同时给出带理由的推荐方案。第四步产出设计文档,包含上下文、需求、架构、关键决策(决策/选择/理由表格)、数据模型、API 接口、风险与缓解、待解决问题等部分。第五步按清单复核:每个组件职责单一、模块间无循环依赖、失败模式已识别并处理、数据一致性模型明确(强一致或最终一致)、安全边界已定义、可观测性点(日志、指标、追踪)已规划。
原则:从简单开始,仅在需求要求时增加复杂度;让权衡显式化,记录每个选择的代价;为变化而设计,接口稳定、实现可替换;关注点分离,数据、逻辑与展示不纠缠;优雅失败,为部分失败而设计而非只考虑正常路径。
限制:资料未提供具体安装命令、平台支持范围、收费方式或与其他工具的集成细节;其能力以引导流程和文档模板为主,实际效果取决于使用者的需求输入与判断。