几种工厂模式对比
2016-06-13 12:03
344 查看
简单工厂模式:
简单工厂模式:定义一个工厂类,它可以根据参数的不同返回不同类的实例,被创建的实例通常都具有共同的父类。因为在简单工厂模式中用于创建实例的方法是静态方法,因此简单工厂模式又被成为静态工厂方法模式,它属于类创建类模式。简单工厂模式的要点在于:当你需要什么,只需要传入一个正确的参数,就可以获取你所需要的对象,而无须知道其创建细节。
简单工厂模式的缺点是:
1. 工厂类过于庞大,包含了大量的if…else代码,导致为何和测试的难度增大。
2. 系统扩展不灵活,如果增加新类型的产品,必须修改静态工厂方法的业务逻辑,违反了开闭原则。
工厂方法模式:
因为简单工厂模式的缺点,所以引入工厂方法模式来解决这个问题工厂方法模式:定义一个用于创建对象的接口,让子类决定将哪个类实例化。工厂方法模式让一个类的实例化延迟到其子类。
在工厂方法模式中,不再提供一个统一的工厂类来创建所有的产品对象,而且针对不同的产品提供不同的工厂,系统提供一个与产品等级结构对应的工厂等级结构。
抽象工厂模式:
抽象工厂模式和工厂方法模式最大的区别是,工厂方法针对的是产品等级,而抽象工厂创建的是产品族。相关文章推荐
- STL阅读程序——8
- 玩转centos7和docker
- linux下man手册的安装和使用
- java传递和返回对象
- easyui-tabs第一个标签的标题被遮挡问题
- 如何在 Linux 中清除缓存(Cache)
- C和指针小结(C/C++程序设计)
- DNS服务器配置
- HDU 1114 Piggy-Bank
- leetcode 235. Lowest Common Ancestor of a Binary Search Tree
- Mybatis异常-Result Maps collection already contains value for xxx
- 转换16进制颜色色值
- 并发编程学习总结(五) :java 显式锁ReentrantLock使用详解之条件对象(2)
- PullToRefreshListView addHeaderView 下拉刷新冲突问题
- Qml实现下拉刷新
- iOS扫一扫功能开发
- shell一则-按文件每行长度排序
- 压缩Sqlite数据文件大小,解决数据删除后占用空间不变的问题
- VC实现文件拖拽OnDropFiles
- PHP简单获取多个checkbox值的方法