设计模式----简单工厂模式
来源:互联网 发布:java编程输出质数 编辑:程序博客网 时间:2024/06/04 20:07
百度下,简单工厂模式就是由一个工厂对象决定创建出哪一种产品类的实例。简单说就是有个工厂可以根据客户的需求可能就是一个参数,创建不一样的产品,把生成对象的过程封装起来,不过事先工厂要先定义好你要的产品,不然它都没有,怎么生成你要的产品。
我自己写的一个动物类例子:
父类:
两个子类,继承父类的属性、方法,并都重写了父类的方法:
鸟:
鱼:
写的工厂测试类,通过operationFactory方法,根据传参创建不同的对象,这里涉及java的多态特性:
工厂模式好处:
以后增加新动物的子类,直接增加新类,不用修改旧的类,同时要修改测试工厂类中的operationFactory方法,把新类型加入。即只是修改要修改的类,不会影响其他类。
缺点:
违反高内聚责任分配原则,将全部创建逻辑集中到了一个工厂类中,它所能创建的类只能是事先考虑到的,如果需要添加新的类,则就需要改变工厂类了,以后维护和扩展不好
试用场景:
1.工厂类负责创建的对象比较少;
2.客户只知道传入工厂类的参数,对于如何创建对象(逻辑)不关心;
3.由于简单工厂很容易违反高内聚责任分配原则,因此一般只在很简单的情况下应用。
UML类图:
例子很简单,简单写简单看,有什么问题,大家一起探讨。
参考书籍 《大话设计模式》
阅读全文
0 0
- 简单工厂设计模式
- 设计模式-----简单工厂
- 简单工厂设计模式
- 设计模式:简单工厂
- 设计模式 - 简单工厂
- 设计模式 简单工厂
- 【设计模式】【简单工厂】
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式--简单工厂
- 简单工厂设计模式
- 简单工厂设计模式
- 设计模式------------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 设计模式---------简单工厂
- 设计模式--简单工厂
- 简单工厂设计模式
- 提升自我的好工具和网站汇总[目前我在用的]
- cpu显示详细信息
- Python的学习路线
- hibernate与JPA的关系
- STM32--GPIO
- 设计模式----简单工厂模式
- 数据类型
- 最小生成树---克鲁斯卡尔算法
- Nameko中文教程
- python os.path模块常用方法详解
- 常用SQL语句
- 函数
- memcached 安装(linux)
- 波士顿房价预测--结合产品企划