博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二)golang工厂模式
阅读量:7118 次
发布时间: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://pkbel.baihongyu.com/

你可能感兴趣的文章
一次爬虫实践记录
查看>>
炫酷粒子表白,双十一脱单靠它了!
查看>>
mysql锁以及实践总结
查看>>
react 移动端 兼容性问题和一些小细节
查看>>
HTTP 详解(一)
查看>>
【刷算法】LeetCode.155-最小栈
查看>>
Apache Trafodion技术架构介绍
查看>>
【工具】MongoDB 与可视化工具 adminMongo 的安装、启动与连接
查看>>
Javascript--常用方法
查看>>
Swoft之服务注册发现Consul服务器配置
查看>>
[译]迁移到新的 React Context Api
查看>>
IM 推送保障及网络优化详解(二):如何做长连接加推送组合方案
查看>>
webpack4 踩坑记
查看>>
线程池你真不来了解一下吗?
查看>>
【跃迁之路】【424天】程序员高效学习方法论探索系列(实验阶段181-2018.04.05)...
查看>>
火狐放不了html5 video MP4格式
查看>>
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器...
查看>>
通过提交信息来关闭issue
查看>>
Angular学习笔记之集成三方UI框架、控件
查看>>
leetcode318. Maximum Product of Word Lengths
查看>>