golang设计模式之工厂方法模式
来源:互联网 发布:一致性哈希 java实现 编辑:程序博客网 时间:2024/06/04 19:16
1. 概述
简单工厂模式是通过传递不同的参数生成不同的实例,缺点就是扩展不同的类别时需要修改代码。
工厂方法模式为每一个product提供一个工程类,通过不同工厂创建不同实例。
类图:
相关源代码demo在Github上,可供参考!
2. 实现过程
- 工厂方法定义一个创建struct的接口,让子struct去实现。
type AnimalFactory interface { CreateAnimal() Action}
- BirdFactory创建一个Bird的实例
type BirdFactory struct {}func (this *BirdFactory) CreateAnimal() Action { return &Bird{}}
- 工厂方法使用
bFactory := &BirdFactory{} bird := bFactory.CreateAnimal() bird.Move(100)
阅读全文
0 0
- golang设计模式之工厂方法模式
- golang设计模式之简单工厂模式
- Golang设计模式-创建型-工厂方法
- PHP和golang实现设计模式-工厂方法模式
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式 之 工厂方法
- 设计模式 之 工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- 设计模式之工厂方法
- Guava使用之BiMap
- javascript中字符串操作常用的API
- 数据操作之《排序套餐:冒泡、选择、插入、快速、归并》
- [阿里云服务之旅]阿里云部署JavaWeb项目初体验
- 【LeetCode解题一】Two Sum问题Java解答
- golang设计模式之工厂方法模式
- Elasticsearch+kibana搭建
- 《OpenGL v3.3》——(1)搭建glfw3与glew环境,并创建第一个窗口
- OpenGL扩展库使用手册《GLEW—The OpenGL Extension Wrangler Library》
- 大话java之JDK动态代理和CGLIB动态代理
- Struts2--8.拦截静态资源
- XML系列之--Linq操作带属性的XML(四)
- UVA10385
- Skynet安装及配置