Skip to content

Latest commit

 

History

History
129 lines (102 loc) · 5.73 KB

README.md

File metadata and controls

129 lines (102 loc) · 5.73 KB

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