内容简介:在通用的工厂模式中,一般涉及到 简单工厂模式(顾名思义:工厂 > 创建)、工厂方法(顾名思义:将方法工厂化)、抽象工厂模式(顾名思义:将工厂抽象化 工厂 > 工厂 > 创建)特点:将接口与具体实现分离,根据需要实例化对象使用场景:日志记录,文件服务平台,数据库访问
在通用的工厂模式中,一般涉及到 简单工厂模式(顾名思义:工厂 > 创建)、工厂方法(顾名思义:将方法工厂化)、抽象工厂模式(顾名思义:将工厂抽象化 工厂 > 工厂 > 创建)
特点:将接口与具体实现分离,根据需要实例化对象
使用场景:日志记录,文件服务平台,数据库访问
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) ...
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
社交网站界面设计
Christian Crumlish、Erin Malone / 樊旺斌、师蓉 / 机械工业出版社 / 2010-9-1 / 69.00元
《社交网站界面设计》提供100多种模式、原则以及最佳实践,并针对在设计社交网站时经常遇到的问题给出明确建议。本书将提供给你培养用户交互习惯和构建社区最具价值的参考。 本书作者将与你分享难得的经验,教会你平衡各种不同的因素,并与你的用户共同构建和谐健康的网络社区。 本书教会你 掌握创建任何网站时都会用到的原则 学习基本设计模式,以便向现有的网站中添加新的社交组件 学会在......一起来看看 《社交网站界面设计》 这本书的介绍吧!