Golang-Design-pattern-demo 平时学习的设计模式 创建型模式: 简单工厂方法模式:创建多个对象时使用。代码示例 工厂方法模式:明确创建不同类型对象使用。代码示例 单例模式:明确全局只需要初始化一个对象时使用代码示例 建造者模式:创建复杂对象使用。代码示例 结构型模式: 代理模式:可以和装饰器模式进一步解耦。代码示例 装饰器模式:基本常见。代码示例 中间件模式:基本常见。代码示例 适配器模式:救火专用模式。代码示例 桥接模式:拆分抽象与具体实现。代码示例 选项模式:初始化参数传递。代码示例 行为模式: 责任链模式:一个对象或请求有流程化需求。代码示例 命令模式:适合提前把多个业务进行组合。代码示例 迭代器模式 遍历整合的自定义对象。代码示例 策略模式:当做一件事情有不同方法时使用。代码示例 模版模式 模版模式与策略模式非常容易混淆。代码示例 观察者模式:当一个对象状态被修改时,会通知"观察"它的对象。代码示例 缓存代理模式:当读取或是执行耗时长的请求或操作时,可以使用。 代码示例 Other 模式: 创建资源对象模式:模拟创建资源对象,并可扩展多个 hook 方法。代码示例 goroutine 模式:并发简易示例。代码示例 反向代理模式: 模拟http反向代理,实现轮询与随机模式。代码示例