二)golang工厂模式

栏目: Go · 发布时间: 5年前

内容简介:在通用的工厂模式中,一般涉及到 简单工厂模式(顾名思义:工厂 > 创建)、工厂方法(顾名思义:将方法工厂化)、抽象工厂模式(顾名思义:将工厂抽象化 工厂 > 工厂 > 创建)特点:将接口与具体实现分离,根据需要实例化对象使用场景:日志记录,文件服务平台,数据库访问

在通用的工厂模式中,一般涉及到 简单工厂模式(顾名思义:工厂 > 创建)、工厂方法(顾名思义:将方法工厂化)、抽象工厂模式(顾名思义:将工厂抽象化 工厂 > 工厂 > 创建)

特点:将接口与具体实现分离,根据需要实例化对象

使用场景:日志记录,文件服务平台,数据库访问

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)
...

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

重来2

重来2

[美] 贾森·弗里德、[美] 戴维·海涅迈尔·汉森 / 苏西 / 中信出版社 / 2014-4-8 / 39.00元

“不再需要办公室”,这不仅仅是未来才有的事——它已经发生了。现在,轮到你迈开脚步,跟上时代的步伐了。 上百万的员工和成千上万的企业已经发现了远程工作的乐趣和好处。然而,远程工作方式还没有成为常见的选择。事实上,远程工作的技术手段都已齐备。还没有升级换代的,是人们的思想。 这本书的目的就是帮你把想法升级换代。作者会向你展示远程工作的诸多好处:可以找到最优秀的人才,从摧残灵魂的通勤路上解脱......一起来看看 《重来2》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具