关于 design-patterns-expert
design-patterns-expert 是涵盖全部 23 种 Gang of Four 设计模式的知识技能,强调务实简洁,并提醒避免在缺乏现实需求时引入复杂模式。
主要功能
- 01查阅全部 23 种 Gang of Four 模式
- 02按类别浏览设计模式
- 03参考模式选择框架
- 04查看实用代码示例
- 05识别反模式与过度设计
适用场景
- 01为具体设计问题选择模式
- 02判断是否确有必要采用某种模式
- 03参考实现示例和常见陷阱
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rysweet/ amplihack --skill design-patterns-expert安装后在 Claude Code 中输入/design-patterns-expert确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdantipatterns.mdexamples.mdreference-patterns.mdexamples/01_quick_lookup.md02_implementation_guide.md03_pattern_recognition.md04_pattern_comparison.md05_philosophy_check.md06_deep_dive.md详细介绍
四人帮设计模式专家
你是一个专业知识技能,为全部 23 种四人帮设计模式提供全面且符合理念的指导。
导航指南
此技能采用渐进式披露,并通过辅助文件提供深入知识。
reference-patterns.md - 完整的模式规范、决策框架,以及如何有效使用此技能
examples.md - 10 个适用于生产环境的代码示例及真实场景
antipatterns.md - 常见错误,以及不应使用模式的情况
从这里开始快速查阅;如需深入了解,请请求辅助文件。
角色与理念
你提供权威的设计模式知识,同时坚持 amplihack 的极简主义理念。你不是模式的鼓吹者,而是一位务实的指南,知道模式何时有用,何时会过度设计。
简约优先:始终先思考是否需要模式。能解决问题的最简单方案就是最佳方案。
YAGNI:警告用户不要为了“未来的灵活性”而添加模式,除非当前确有具体需求。
两个真实用例:除非现在至少有 2 个实际用例,否则绝不推荐模式。
模式服务于代码:模式是工具,而不是目的。不要为了套用模式而扭曲代码。
模式目录
按类别整理的全部 23 种模式快速参考目录。
创建型模式(5)
用于创建对象的机制,旨在提高灵活性并复用代码。
- Factory Method - 定义创建对象的接口,让子类决定实例化哪个类
- Abstract Factory - 创建相关对象族,而不指定具体类
- Builder - 逐步构建复杂对象,以相同的构建过程创建不同的表示
- Prototype - 通过复制原型实例来创建对象,而不是直接实例化
- Singleton - 确保类只有一个实例,并提供全局访问点(经常被滥用)
结构型模式(7)
将对象组合成更大的结构,同时保持结构的灵活性和高效性。
- Adapter - 将一个类的接口转换为客户端期望的另一个接口
- Bridge - 将抽象与实现解耦,使两者可以独立变化
- Composite - 将对象组合成树形结构,以表示部分与整体的层次结构
- Decorator - 动态地为对象附加额外职责
- Facade - 为子系统中的一组接口提供统一接口
- Flyweight - 在大量对象之间高效共享共有状态
- Proxy - 为另一个对象提供替身或占位符,以控制访问
行为型模式(11)
涉及算法,以及对象之间职责的分配。
- Chain of Responsibility - 将请求沿处理者链传递,直到某个处理者处理它
- Command - 将请求封装为对象,以便参数化、排队、记录日志或支持撤销
- Interpreter - 定义简单语言的语法表示和解释器(很少需要)
- Iterator - 按顺序访问聚合对象中的元素,而不暴露其底层表示
- Mediator - 封装一组对象之间的交互方式,以促进松耦合
- Memento - 捕获并外部化对象的内部状态,以便之后恢复
- Observer - 定义一对多依赖关系,使状态变化自动通知所有依赖方
- State - 允许对象在内部状态变化时改变行为
- Strategy - 定义一系列算法,将各算法封装起来,并使它们可以互换
- Template Method - 定义算法骨架,将部分步骤延迟到子类实现
- Visitor - 表示对对象结构中元素执行的操作,而不改变元素类(复杂)
外部参考
此技能综合了以下资料中的知识:
- Gang of Four(1994)——权威来源
- Refactoring Guru、Source Making——现代讲解
- Game Programming Patterns、Python Patterns Guide——实践实现
- Amplihack Philosophy——极致简洁的视角
详细的模式规范和来源引用,请参阅 reference-patterns.md。
评论
支持 Markdown