工厂模式

转载 2016年08月29日 17:22:39
工厂方法模式是类的创建模式,又叫做虚拟构造子(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

相关文章推荐

工厂模式简介和实例代码

  • 2016年11月17日 17:58
  • 3.87MB
  • 下载

简单工厂模式

  • 2017年08月16日 20:07
  • 60.84MB
  • 下载

三种工厂模式分析及C++实现

本文转自:http://www.cnblogs.com/cxjchen/p/3143633.html 简单工厂模式 简单工厂模式是工厂模式中最简单的一种,他可以用比较简单的方式隐藏创建对象的细节,...
  • mfcbest
  • mfcbest
  • 2017年06月01日 14:24
  • 169

工厂模式测试

  • 2017年02月21日 17:01
  • 12KB
  • 下载

工厂模式及在项目中的应用

工厂模式分为简单工厂、工厂方法模式和抽象工厂模式。简单工厂顾名思义是最简单的,从一个工厂获取所需的产品类似于factory.getProduct1();或factory.getProduct2(),最...
  • empyan
  • empyan
  • 2017年02月06日 21:20
  • 1593

抽象工厂模式

  • 2016年08月12日 06:56
  • 18KB
  • 下载

工厂模式及其实现

  • 2016年06月17日 14:13
  • 2KB
  • 下载

简单工厂模式的计算器(C++)

最近学习一本叫做《大话设计模式》的书,书上的代码貌似是JAVA的,本人使用C++来实现了一下,实现方式上面有稍许不同,但是基本原理差不多,用的是简单工厂模式,经测试可以运行,下面贴上代码:(比较简单就...

MVC工厂模式。

  • 2017年09月27日 17:47
  • 21.94MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:工厂模式
举报原因:
原因补充:

(最多只允许输入30个字)