chinaworld / go-design-pattern

go的设计模式实例

Repository from Github https://github.comchinaworld/go-design-patternRepository from Github https://github.comchinaworld/go-design-pattern

go 设计模式

设计模式的六大原则

1、开闭原则

对扩展开放,对修改关闭,简而言之:使用接口和抽象类

2、里氏代换原则

任何基类可以出现的地方,子类一定可以出现

3、依赖倒转原则

针对接口编程,依赖于抽象而不依赖于具体

4、接口隔离原则

使用多个隔离的接口,比使用单个接口要好,降低耦合,参考io包

5、迪米特法则,又称最少知道原则

一个实体应当尽量少地与其他实体之间发生相互作用,使得系统功能模块相对独立

6、合成复用原则

尽量使用合成/聚合的方式,而不是使用继承

总结:多使用接口,接口组合,针对接口编程

  1. single 单例模式
  2. options 选项模式
  3. builder 建造者模式
  4. decorator 装饰器模式
  5. strategy 策略模式
  6. template 模板模式
  7. adapter 适配器模式
  8. proxy 代理模式
  9. command 命令模式
  10. flyweight 享元模式
  11. observer 观察者模式
  12. simpleFactory 简单工厂模式
  13. factoryMethod 工厂方法
  14. abstractFactory 抽象工厂
  15. prototype 原型模式
  16. bridge 桥接模式
  17. facade 外观模式

About

go的设计模式实例

License:GNU General Public License v3.0


Languages

Language:Go 100.0%