# Software Design Standards

> 阿里巴巴Java开发手册 — 软件设计规约审查与指导。当用户涉及以下任何场景时触发： - 系统架构设计、应用分层 - UML图使用（用例图、时序图、类图、状态图、活动图） - SOLID原则应用（单一职责、里氏代换、依赖倒置、开闭原则） - DRY原则、可扩展性设计 - 设计文档编写 - 领域模型定义（DO/DTO/BO/VO） - 用户提到"架构设计"、"应用分层"、"UML"、"SOLID"、"设计模式"等关键词 此技能适用于所有编程语言和软件项目。

- Skill: `greenplumwine/software-design-standards` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add greenplumwine/software-design-standards`
- Raw SKILL.md: https://api.skillmd.com/api/skills/greenplumwine/software-design-standards/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: Greenplumwine (https://skillmd.com/u/greenplumwine)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/greenplumwine/software-design-standards

---


# 软件设计规约技能

## 作用

本技能基于《阿里巴巴Java开发手册》的设计规约和应用分层章节，为开发者提供软件架构设计和系统设计的指导。

涵盖以下领域：

| 规约领域 | 说明 |
|---------|------|
| 应用分层 | Controller/Service/Manager/DAO分层、领域模型 |
| UML图 | 用例图、时序图、类图、状态图、活动图的使用场景 |
| 设计原则 | SOLID、DRY、开闭原则、依赖倒置 |
| 可扩展性 | 隔离变化点、扩展性设计 |
| 设计文档 | 评审、归档、维护 |

## 使用方法

1. **架构评审** — 输入：系统设计文档、架构图或核心代码；执行：按需读取 `references/` 下对应规约后评审；输出：按【强制】【推荐】【参考】分级的问题清单 + 改进方案
2. **设计指导** — 输入：业务场景或设计目标描述；执行：引用应用分层和UML规约；输出：推荐的分层方案 + UML图选择建议
3. **代码重构** — 输入：需要重构的代码或类结构；执行：对照 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 |
| 全面设计评审 | 两个文件都读取 |

## 规约等级说明

原文中的规约分为三个等级：
- **【强制】**：必须遵守
- **【推荐】**：建议遵守
- **【参考】**：供参考

## 审查输出格式

1. **【强制】违规项**
2. **【推荐】改进项**
3. **【参考】优化建议**
4. **正例参考**

