| name | software-design-standards |
| description | 阿里巴巴Java开发手册 — 软件设计规约审查与指导。当用户涉及以下任何场景时触发:
- 系统架构设计、应用分层
- UML图使用(用例图、时序图、类图、状态图、活动图)
- SOLID原则应用(单一职责、里氏代换、依赖倒置、开闭原则)
- DRY原则、可扩展性设计
- 设计文档编写
- 领域模型定义(DO/DTO/BO/VO)
- 用户提到"架构设计"、"应用分层"、"UML"、"SOLID"、"设计模式"等关键词
此技能适用于所有编程语言和软件项目。
|
软件设计规约技能
作用
本技能基于《阿里巴巴Java开发手册》的设计规约和应用分层章节,为开发者提供软件架构设计和系统设计的指导。
涵盖以下领域:
| 规约领域 | 说明 |
|---|
| 应用分层 | Controller/Service/Manager/DAO分层、领域模型 |
| UML图 | 用例图、时序图、类图、状态图、活动图的使用场景 |
| 设计原则 | SOLID、DRY、开闭原则、依赖倒置 |
| 可扩展性 | 隔离变化点、扩展性设计 |
| 设计文档 | 评审、归档、维护 |
使用方法
- 架构评审 — 输入:系统设计文档、架构图或核心代码;执行:按需读取
references/ 下对应规约后评审;输出:按【强制】【推荐】【参考】分级的问题清单 + 改进方案
- 设计指导 — 输入:业务场景或设计目标描述;执行:引用应用分层和UML规约;输出:推荐的分层方案 + UML图选择建议
- 代码重构 — 输入:需要重构的代码或类结构;执行:对照 SOLID、DRY 等设计原则分析;输出:重构步骤 + 目标结构示例
设计审查检查点
执行软件设计规约审查时,以下场景需先向用户确认,再执行后续操作:
| 场景 | 检查内容 |
|---|
| 建议调整系统架构 | 涉及分层结构或领域模型变更时,确认影响范围并评估迁移成本 |
| 建议引入新的设计模式 | 说明引入理由和替代方案,确认团队技术栈和接受度 |
| 用户未提供设计文档 | 提示用户描述系统架构或粘贴相关代码/文档,说明审查范围 |
| UML 图类型选择 | 列出推荐的 UML 图类型及适用场景,确认用户关注重点后再展开 |
边界条件处理
| 场景 | 处理方式 |
|---|
| 用户未提供设计文档 | 提示用户描述系统架构或粘贴相关代码,说明可审查的设计维度 |
| 遗留系统重构 | 在现有架构约束下给出渐进式改进建议,不推荐一次性大规模重构 |
| 无 UML 工具 | 建议使用 Markdown 表格、伪代码或文字描述替代,强调设计思路而非图形形式 |
| 微服务 vs 单体架构 | 根据用户实际架构类型调整分层建议,微服务需额外关注服务边界和接口契约 |
| references 文件缺失 | 基于通用软件设计原则给出建议,提示检查 references 目录完整性 |
规约文件索引
所有规约原文存放于 references/ 目录下,按小节拆分,按需读取:
references/
├── app-layering.md # 应用分层规约(分层结构、领域模型、异常处理)
└── design-rules.md # 设计规约(UML图、SOLID原则、可扩展性、设计文档)
按需读取指引
| 任务类型 | 需要读取的规约文件 |
|---|
| 设计应用分层 | app-layering.md |
| 设计系统架构 | design-rules.md |
| 选择UML图类型 | design-rules.md |
| 评审设计文档 | design-rules.md |
| 全面设计评审 | 两个文件都读取 |
规约等级说明
原文中的规约分为三个等级:
- 【强制】:必须遵守
- 【推荐】:建议遵守
- 【参考】:供参考
审查输出格式
- 【强制】违规项
- 【推荐】改进项
- 【参考】优化建议
- 正例参考