
go设计模式
九品神元师
AI平台、分布式存储、分布式计算、微服务
展开
-
GO设计模式1-单例模式
单例模式 单例模式是一种常用的软件设计模式,在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一类只有一个实例而且该实例易于外界访问,从而达到使用目的,同时还能方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。 单例定义 var ( once sync.Once instance *Singl...原创 2018-10-08 13:55:28 · 172 阅读 · 0 评论 -
GO设计模式2-观察者模式
观察者模式 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 观察者定义 type Observer interface{ Notify(param string) } 观察者实现 type OneObserver struct...原创 2018-10-08 14:15:04 · 397 阅读 · 0 评论 -
GO设计模式3-策略模式
策略模式 所谓策略其实就是做一件事情有很多很多的方法,比如说一个商场要搞促销,促销的方式有可能有很多:打折啊,满100返50啊、积分等等之类的。这种不同的促销方式在我们系统中表示就是一个一个的策略,并且策略是可以随时更换的,这个时候在设计系统时就可以使用策略模式。 策略定义 type Strategy interface{ Process(param string) st...原创 2018-10-08 14:38:13 · 436 阅读 · 0 评论