← ClaudeAtlas

design-patternslisted

设计模式与架构专家 - 覆盖 GoF 经典模式(创建型/结构型/行为型)、云架构模式(熔断/Saga/CQRS/事件溯源)、Go 并发模式(Pipeline/Fan-Out/Worker Pool)、SOLID/Clean Architecture、ADR 架构决策记录。适用:系统设计、代码重构、架构决策、分布式系统设计、微服务拆分。不适用:纯业务逻辑实现(无架构决策)、简单 CRUD 无需模式、性能调优(应使用 go-test 基准测试)。触发词:设计模式, design pattern, 架构, architecture, SOLID, 重构, refactor, 工厂, 单例, 策略, 观察者, 熔断, saga, CQRS, 中间件, middleware
omeyang/Thoth · ★ 0 · AI & Automation · score 73
Install: claude install-skill omeyang/Thoth
# 设计模式与架构专家 使用设计模式解决:$ARGUMENTS --- ## 第一部分:GoF 经典设计模式 ### 创建型模式(6种) | 模式 | 意图 | Go 惯用签名 | |------|------|-------------| | 单例 Singleton | 确保唯一实例 | `sync.Once` + `GetInstance()` | | 工厂方法 Factory Method | 按条件创建不同实现 | `func NewStorage(typ string) (Storage, error)` | | 抽象工厂 Abstract Factory | 创建相关对象家族 | `type UIFactory interface { CreateButton(); CreateDialog() }` | | 建造者 Builder | 分步构建复杂对象 | `NewBuilder().Host(h).Port(p).Build()` | | 函数选项 Functional Options | Go 惯用灵活配置 | `func NewClient(addr string, opts ...Option)` | | 原型 Prototype | 克隆现有对象 | `type Cloneable interface { Clone() Cloneable }` | ### 结构型模式(7种) | 模式 | 意图 | Go 惯用签名 | |------|------|-------------| | 适配器 Adapter | 接口转换 | `type ZapAdapter struct{ zap *zap.Logger }` | | 桥接 Bridge | 抽象与实现分离 | 组合接口字段 | | 组合 Composite | 树形部分-整体 | `type Component interface { Execute(); Add(Component) }` | | 装饰器 Decorator | 动态添加职责 | `func WithLogging(h Handler) Handler` | | 外观 Facade | 统一高层接口 | `type OrderFacade struct { inventory; payment; shipping }` | | 享元 Flyweight | 共享细粒度对象 | `sync.RWMutex` + `map` 缓存 | | 代理 Proxy | 控制访问 | `CachingProxy` / `LazyProxy` | ### 行为型模式(10种) | 模式 | 意图 | Go 惯用签名 | |------|------|-------------| | 责任链 Chain of Responsibility | 多处理者链 | `type Middleware func(http.Handler) http.Handler` | | 命令 Command | 请求封装为对象 | `type Command interface { Execute() error; Undo() error }` | | 迭代器 Iterator | 顺序访问元素 | Go 1.23+ `iter.Seq[T]` | | 中介者 Mediator | 封装对象交互 | `EventBus` + `Subscribe/Publish` | | 备忘录 Memento | 捕获内部状态 |