Skip to content

Latest commit

 

History

History
30 lines (26 loc) · 3.63 KB

README.md

File metadata and controls

30 lines (26 loc) · 3.63 KB

Golang-Design-pattern-demo

平时学习的设计模式

创建型模式:

  1. 简单工厂方法模式:创建多个对象时使用。代码示例
  2. 工厂方法模式:明确创建不同类型对象使用。代码示例
  3. 单例模式:明确全局只需要初始化一个对象时使用代码示例
  4. 建造者模式:创建复杂对象使用。代码示例

结构型模式:

  1. 代理模式:可以和装饰器模式进一步解耦。代码示例
  2. 装饰器模式:基本常见。代码示例
  3. 中间件模式:基本常见。代码示例
  4. 适配器模式:救火专用模式。代码示例
  5. 桥接模式:拆分抽象与具体实现。代码示例
  6. 选项模式:初始化参数传递。代码示例

行为模式:

  1. 责任链模式:一个对象或请求有流程化需求。代码示例
  2. 命令模式:适合提前把多个业务进行组合。代码示例
  3. 迭代器模式 遍历整合的自定义对象。代码示例
  4. 策略模式:当做一件事情有不同方法时使用。代码示例
  5. 模版模式 模版模式与策略模式非常容易混淆。代码示例
  6. 观察者模式:当一个对象状态被修改时,会通知"观察"它的对象。代码示例
  7. 缓存代理模式:当读取或是执行耗时长的请求或操作时,可以使用。 代码示例

Other 模式:

  1. 创建资源对象模式:模拟创建资源对象,并可扩展多个 hook 方法。代码示例
  2. goroutine 模式:并发简易示例。代码示例
  3. 反向代理模式: 模拟http反向代理,实现轮询与随机模式。代码示例