iOS设计模式(二) 简单工厂,工厂,抽象工厂
来源:互联网 发布:淘宝隐形牙套有用吗 编辑:程序博客网 时间:2024/05/21 09:26
觉得下面这个写的既简单又清楚,这个就转载了。
简单工厂
简单工厂模式的工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。
不修改代码的话,是无法扩展的。
工厂方法
工厂方法是针对每一种产品提供一个工厂类。通过不同的工厂实例来创建不同的产品实例。
在同一等级结构中,支持增加任意产品。
抽象工厂
抽象工厂是应对产品族概念的。比如说,每个汽车公司可能要同时生产轿车,货车,客车,那么每一个工厂都要有创建轿车,货车和客车的方法。
应对产品族概念而生,增加新的产品线很容易,但是无法增加新的产品。
小结
★工厂模式中,重要的是工厂类,而不是产品类。产品类可以是多种形式,多层继承或者是单个类都是可以的。但要明确的,工厂模式的接口只会返回一种类型的实例,这是在设计产品类的时候需要注意的,最好是有父类或者共同实现的接口。
★使用工厂模式,返回的实例一定是工厂创建的,而不是从其他对象中获取的。
★工厂模式返回的实例可以不是新创建的,返回由工厂创建好的实例也是可以的。
区别
简单工厂 : 用来生产同一等级结构中的任意产品。(对于增加新的产品,无能为力)
工厂方法 :用来生产同一等级结构中的固定产品。(支持增加任意产品)
抽象工厂 :用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)
我的理解是抽象工厂用来生产工厂。
0 0
- iOS设计模式(二) 简单工厂,工厂,抽象工厂
- [设计模式](二):工厂模式(简单工厂|静态工程、工厂方法|多工厂、抽象工厂)
- 设计模式-工厂模式(简单工厂,工厂方法,抽象工厂)
- 设计模式学习(二)之工厂模式(简单工厂+工厂方法+抽象工厂)
- 设计模式(简单工厂模式,工厂模式,抽象工厂模式)
- 设计模式 - 工厂模式(简单,工厂方法,抽象工厂)
- C++设计模式新解三 简单工厂 工厂模式 抽象工厂
- C++设计模式之简单工厂、工厂模式、抽象工厂
- 设计模式指工厂模式(简单工厂,抽象工厂)
- 设计模式____工厂模式(简单工厂,抽象工厂)
- 设计模式<二>-抽象工厂
- 设计模式之-简单工厂、工厂方法、抽象工厂
- 简单工厂、工厂方法和抽象工厂设计模式
- 【设计模式】简单工厂,工厂方法,抽象工厂
- 设计模式 - 简单工厂、工厂方法、抽象工厂
- 设计模式-工厂方法 简单工厂 抽象工厂 模板方法
- 设计模式-简单工厂、工厂方法与抽象工厂
- 【设计模式】全局看 简单工厂 -工厂方法- 抽象工厂
- 怎么查看mysql数据库的版本
- List<?> list= new ArrayList<?>为什么这样写 接口引用指向实现类的对象
- getHibernateTemplate().find()及带参使用方法
- MyEclipse10安装SVN插件
- Nagle算法
- iOS设计模式(二) 简单工厂,工厂,抽象工厂
- VMware Workstation学习之路——网络设置——桥接连接方式
- rockmongo
- swift post表单上传图片和数据
- java 并发
- Android异常崩溃Crash重启方案
- 简单一招破解网站内容不能复制+图片不能右击(naver blog有效)
- qt creator开发arm linux
- 编译型语言、解释型语言、静态类型语言、动态类型语言概念与区别