microwind/ai-skills/builder-pattern
Claude Code and agent skill by microwind/ai-skills
Trust tier 2
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
分步骤构建复杂对象。在对象有很多可选参数或构建步骤复杂时使用。
Install
npx vskill@latest install microwind/ai-skills/builder-patternSKILL.md
建造者模式 (Builder Pattern)
概述
建造者模式将复杂对象的构建与其表示分离,使得可以按步骤构建对象。这个模式特别适用于对象有多个可选属性或构建过程复杂的场景。
核心原则:
- 🏗️ 分离构建和表示: 构建者负责如何构建,客户端负责如何使用
- 📝 链式调用: 支持流畅的函数式编程风格
- ✅ 参数验证集中: 在 build 方法中验证所有参数
- 🔁 灵活性高: 支持多种构建顺序和组合
何时使用
完美适用场景
| 场景 | 说明 | 优先级 | |
|---|---|---|---|
| HTTP 请求构建 | URL、方法、头、参数、超时等可选属性 | ⭐⭐⭐ | |
| SQL 查询构建 | SELECT、WHERE、ORDER BY、LIMIT 等灵活组合 | ⭐⭐⭐ | |
| 对象配置 | 大量可选配置项的对象初始化 | ⭐⭐⭐ | |
| DTO/VO 构建 | 从多个数据源组装 DTO | ⭐⭐⭐ | |
| 复杂表单 | 表单验证、多步骤填写 | ⭐⭐ | |
| 数据库连接池配置 | 众多可选参数的配置对象 | ⭐⭐ |
触发信号
✅ 以下信号表明应该使用 Builder:
- "这个类的构造函数有太多参数"
- "大部分参数都是可选的"
- "需要多种方式配置同一对象"
- "构建过程复杂,涉及多个步骤"
- "参数间有依赖关系,需要验证"
❌ 以下情况不应该使用:
- 对象只有 1-2 个参数
- 所有参数都是必需的
- 参数组合并无实际意义
- 性能关键路径(build() 有开销)
建造者模式的优缺点
优点 ✅
- 参数管理清晰
- 避免构造函数参数过多
- 代码易读性大幅提高
- 无需记忆参数顺序
- 支持链式调用
- 代码风格优雅流畅
- 支持函数式编程
- 可读性更高
- 灵活的构建过程
- 支持多种参数组合
- 构建顺序灵活
- 支持默认值
- 参数验证集中
- 所有验证在 build() 方法
- 确保对象始终有效
- 减少运行时错误
- 易于扩展
- 添加新参数无需改变客户端
- 向后兼容性好
- 容易添加新的构建方式
缺点 ❌
- 代码量增加
- 需要编写 Builder 类
- 代码行数增加
- 简单对象可能过度设计
- 性能开销
- build() 方法有开销
- 创建额外对象
- 不适用于性能关键路径
- 复杂度增加
- 初学者容易混淆
- 需要理解嵌套类或独立类
- 调试相对复杂
建造者模式的 5 种实现方法
1. 经典 Builder - 静态内部类
特点: 标准实现方式,安全且易维护
2. 流式 Builder - 链式编程
特点: 支持更流畅的链式调用
3. 参数对象 Builder
特点: 用单独的参数对象,适合参数众多的情况
4. 继承 Builder - 支持多态
特点: Builder 本身也支持继承,适合复杂继承体系
5. Lombok @Builder - 自动生成
特点: 使用注解自动生成 Builder 代码
常见问题与完整解决方案
问题 1: 参数验证与可选参数
症状: 不清楚哪些参数是必需的,哪些是可选的
问题 2: 不可变对象的构建
症状: 构建后的对象需要保证不可变性
问题 3: 性能 - 创建过多中间对象
症状: 每次 build() 都创建新对象,性能不佳
问题 4: 嵌套对象的构建
症状: 需要构建含有嵌套对象的复杂对象
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdesign-patterns/builder-pattern/SKILL.md
Popularity
- Repository stars
- 57
- Repository forks
- 15
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Jul 2026, 3 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/microwind/ai-skills/builder-pattern)