![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
For_Master
作者很懒,什么都没有留下,他可能去打王者了
展开
-
golang 策略模式
策略模式 策略模式定义了算法族,分别封装起来,让他们直接可以互相替换,此模式让算法的变化独立于使用算法的客户。 go不同于java,本身没有继承的概念,天然只支持接口的组合模式。符合设计原则:多用组合,少用继承。策略模式是把变化的部分抽象出来,封装成单独的接口,然后在主接口利用“委托”(组合)的方式调用变化的部分,因为变化的部分单独成一个接口,所以它的各种实现直接可以互相替换,达到随时改变,添加,删除,不会影响到已经实现的代码部分,下面是示例代码,分析也写在了注解里面 type Interface1 in原创 2021-09-09 10:06:15 · 596 阅读 · 0 评论 -
golang 单例模式
单例模式,全局只有一个实例,无法再新建 饿汉模式:提前创建实例,提供一个对外方法,返回此实例 代码如下: // Singleton 饿汉式单例, 都使用小写,无法导出,外部包没法直接创建 type singleton struct{ name string } // 通过一个导出类型暴露出去*singleton,由于Singleton内部属性无法导出,所以外部也没法创建(只能创建一个空对象) type Singleton struct { *singleton } var single *Sing原创 2021-08-27 10:59:15 · 1266 阅读 · 0 评论