Skip to content

Repository files navigation

Go 版设计模式(58 种)

云原生 AI 实战营项目之一,更多精彩项目见:云原生 AI 实战营。

本仓库是 《Go 设计模式 61 讲》课程 的源码仓库。里面介绍了 58 种常见的设计模式,及 Go 版代码实现。

如果你想全面学习这些设计模式,欢迎加入 云原生 AI 实战营。里面不仅包含了 《Go 设计模式 61 讲》课程,还包含了大量其他高质量的 Go、云原生、AI Infra 课程。


在 《Go 设计模式 61 讲》课程中一共介绍了 58 种设计模式,这些设计模式列表如下。

创建型模式(Creational Patterns)

模式名 英文名 状态
简单工厂模式 Simple Factory ✔
工厂方法模式 Factory Method ✔
抽象工厂模式 Abstract Factory ✔
建造者模式 Builder ✔
原型模式 Prototype ✔
单例模式 Singleton ✔
New 模式 New ✔
函数选项模式 Functional Options ✔
对象池模式 Object Pool ✔

行为型模式(Behavioral Patterns)

模式名 英文名 状态
中介者模式 Mediator ✔
观察者模式 Observer ✔
命令模式 Command ✔
迭代器模式 Iterator ✔
模版方法模式 Template Method ✔
策略模式 Strategy ✔
状态模式 State ✔
备忘录模式 Memento ✔
解释器模式 Interpreter ✔
责任链模式 Chain of Responsibility ✔
访问者模式 Visitor ✔
注册表模式 Registry ✔
上下文模式 Context ✔

结构型模式(Structural Patterns)

模式名 英文名 状态
外观模式 Facade ✔
适配器模式 Adapter ✔
代理模式 Proxy ✔
组合模式 Composite ✔
享元模式 Flyweight ✔
装饰器模式 Decorator ✔
桥接模式 Bridge ✔

同步模式(Synchronization Patterns)

模式名 英文名 状态
条件变量模式 Condition Variable ✔
互斥锁模式 Lock/Mutex ✔
监视器模式 Monitor ✔
读写锁模式 Read-Write Lock ✔
信号量模式 Semaphore ✔

并发模式(Concurrency Patterns)

模式名 英文名 状态
屏障模式 N-Barrier ✔
有界并行性模式 Bounded Parallelism ✔
广播模式 Broadcast ✔
协程模式 Coroutines ✔
生成器模式 Generator ✔
反应器模式 Reactor ✔
并行模式 Parallelism ✔
生产者消费者模式 Producer Consumer ✔
批处理模式 Batch Processing ✔

消息传递模式(Messaging Patterns)

模式名 英文名 状态
扇入模式 Fan-In ✔
扇出模式 Fan-Out ✔
未来与承诺模式 Futures & Promises ✔
发布订阅模式 Publish/Subscribe ✔
推模式与拉模式 Push & Pull ✔

稳定型模式(Stability Patterns)

模式名 英文名 状态
隔离模式 Bulkheads ✔
断路器模式 Circuit-Breaker ✔
截止期限模式 Deadline ✔
快速失败模式 Fail-Fast ✔
握手模式 Handshaking ✔
稳态模式 Steady-State ✔
限流模式 Rate Limiting ✔
重试模式 Retrier ✔

分析模式(Profiling Patterns)

模式名 英文名 状态
计时函数模式 Timing Functions ✔

反模式(Anti-Patterns)

模式名 英文名 状态
串联故障模式 Cascading Failures ✔

参考资料

推荐顺序 项目名 参考星级 参考状态
1 crazybber/go-pattern-examples ★★★★★ ✔
2 crazybber/awesome-patterns ★★★★★ ✔
3 tmrts/go-patterns ★★★★ ✔
4 senghoo/golang-design-pattern ★★★ ✔
5 lee501/go-patterns ★★★ ✔
6 mohuishou/go-design-pattern ★★★ ✔

Contacts

About

最全的设计模式讲解。一共 58 种设计模式,包括 GoF 中的 24 种设计模式。

Topics

Resources

Stars

49 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages