工厂模式
来源:互联网 发布:淘宝上的国大药房 编辑:程序博客网 时间:2024/06/07 07:23
工厂方法模式是类的创建模式,又叫做虚拟构造子(Virtual Constructor)模式或者多态性工厂(Polymorphic Factory)模式。
工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。
那么工厂方法模式是在什么场景下使用呢,下面就以本人的理解举例说明:
相信很多人都做过导入导出功能,就拿导出功能来说。有这么一个需求:XX系统需要支持对数据库中的员工薪资进行导出,并且支持多种格式如:HTML、CSV、PDF等,每种格式导出的结构有所不同,比如:财务跟其他人对导出薪资的HTML格式要求可能会不一样,因为财务可能需要特定的格式方便核算或其他用途。
如果使用简单工厂模式,则工厂类必定过于臃肿。因为简单工厂模式只有一个工厂类,它需要处理所有的创建的逻辑。假如以上需求暂时只支持3种导出的格式以及2种导出的结构,那工厂类则需要6个if else来创建6种不同的类型。如果日后需求不断增加,则后果不堪设想。
这时候就需要工厂方法模式来处理以上需求。在工厂方法模式中,核心的工厂类不再负责所有的对象的创建,而是将具体创建的工作交给子类去做。这个核心类则摇身一变,成为了一个抽象工厂角色,仅负责给出具体工厂子类必须实现的接口,而不接触哪一个类应当被实例化这种细节。
转载至: http://www.cnblogs.com/java-my-life/archive/2012/03/25/2416227.html 0 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- php zip文件的解压与压缩
- 【java项目实践】在eclipse中使用利用mybatis-generator自动生成Model、Dao、mapping代码
- Linux(Ubuntu)下 升级安装JDK1.7
- 原码反码补码以及移位按位与或异或等位操作的实例
- apk更新代码
- 工厂模式
- linux下write操作原理、错误原因及处理方法
- C#中的正则表达式
- JAVA中int、String的类型转换
- 基于 HTTP/2 的 APNs 协议:Universal Push Notification Client SSL 证书
- tomcat集群机制剖析及其生产部署选型
- JS原生获取对象的所有属性-函数包装
- java设计模式进阶_chain
- Lua学习笔记(二)