博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二)golang工厂模式
阅读量:7080 次
发布时间:2019-06-28

本文共 799 字,大约阅读时间需要 2 分钟。

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

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

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

1.定义产品接口

type P interface {}

2.定义实现结构

type P1 struct {} //implement Ptype 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,用于生产Ptype 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)...

转载地址:http://wjvml.baihongyu.com/

你可能感兴趣的文章
sql语句什么时候用双引号或者单引号
查看>>
mysql服务性能优化—my.cnf配置说明详解
查看>>
如何阅读论文
查看>>
Linux时间设置
查看>>
安装PHP sphinx扩展 sphinx-1.1.0/sphinx.c:105:2: error: too few arguments 错误
查看>>
时间序列/信号处理开源数据集-转
查看>>
Mac下配置Java Web开发环境(Mac 10.12)
查看>>
OPC接口相关资料地址
查看>>
SpringMVC HelloWorld实例开发及部署
查看>>
BUPT2017 wintertraining(15) #2 题解
查看>>
Java开发中的23种设计模式详解(转)
查看>>
Android最佳性能实践(一)——合理管理内存
查看>>
assert的作用是什么
查看>>
HTML5+CSS3 效果网站集合
查看>>
AutoPlay Menu Builder入门教程
查看>>
Request.Cookies和Response.Cookies
查看>>
在Razor中输出Html的两种方式
查看>>
iOS-打包成ipa的4种方法
查看>>
转负二进制(个人模版)
查看>>
MySQL数据库如何导入导出
查看>>