设计模式
北方的lang
学习
展开
-
2.创建型--工厂模式
简单工厂 在简单工厂模式中,可以根据参数的不同返回不同类的实例;但是如果要想新增一种产品的时候,需要在运算工厂里的方法加‘Case’分支条件的,修改原有的类,违反了“开放-封闭原则”。 pakcage factory //声明工厂结构体 type Factory struct { } //声明产品的接口 type Product interface { create() } //产品A type ProductA struct { } func (pA ProductA) create()原创 2022-01-09 13:27:15 · 273 阅读 · 0 评论 -
1.创建型--单例模式
1.单例模式 单例模式采用了 饿汉式 和 懒汉式 两种实现,个人其实更倾向于饿汉式的实现,简单,并且可以将问题及早暴露,懒汉式虽然支持延迟加载,但是这只是把冷启动时间放到了第一次使用的时候,并没有本质上解决问题,并且为了实现懒汉式还不可避免的需要加锁。 饿汉式 package singleton //饿汉式单例 type Singleton struct{} var singleton *Singleton //采用init性能会更好一些 func init() { singleton = &原创 2022-01-09 11:59:22 · 95 阅读 · 0 评论