二)golang工厂模式
在通用的工厂模式中,一般涉及到 简单工厂模式(顾名思义:工厂 > 创建)、工厂方法(顾名思义:将方法工厂化)、抽象工厂模式(顾名思义:将工厂抽象化 工厂 > 工厂 > 创建)
特点:将接口与具体实现分离,根据需要实例化对象
使用场景:日志记录,文件服务平台,数据库访问
1.定义产品接口
type P interface {}
2.定义实现结构
type P1 struct {} //implement P type P2 struct {} //implement P
...
//简单
3.工厂方法(简单工厂完)
func F (name string) P {}
//抽象
3.工厂接口,用于生产工厂
type Factory interface { CreateP(name string) CreatePE(name string) ... }
4.创建多种产品接口
type PE interface {} ...
5.创建实现结构
type PE1 struct {} type PE2 struct {} ...
6.工厂实现结构
type F1 struct {} //implement Factory,用于生产P type F2 struct {} //implement Factory,用于生产PE ...
7.生产工厂方法
func CreateFactory(name string) Factory{}
应用:
f1 := CreateFactory(F1) //f1为工厂F1的一个实例 p1 := f1.CreateP(P1) //p1则为产品P1的一个实例 p2 := f1.CreateP(P2) //p2则为产品P2的一个实例 ... f2 := CreateFactory(F2) //f2为工厂F2的一个实例 pe1 := f2.CreatePE(PE1) ...
相关推荐
yangyujun 2020-08-21
jkzyx 2020-04-17
缘起宇轩阁 2019-12-30
swimmer000 2019-12-30
王志龙 2019-12-26
gougouzhang 2019-12-13
徐建岗网络管理 2011-12-18
HuangXiaoChuan 2019-03-20
一个过客 2019-03-25
machao 2019-03-21
cyAspNet 2019-07-01
Triones 2019-07-01
chengrile 2014-10-26
programisaart 2019-06-28
fuziwang 2019-06-28
gotea 2012-09-13