一、定义
简单工厂模式又称为静态工厂方法(Static Factory Method)模式,它属于类的创建型模式,通常它根据参数的不同返回不同类的实例。专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。
简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定应该创建出哪一个类的实例。简单工厂模式实际上不属于23个GoF模式,但它可以作为GoF的工厂方法模式(Factory Method)的一个引导。
二、 Java实例
JasperReport报表引擎提供多种报表结果导出方式,比如HTML、PDF、Excel等等,在将JasperReport报表工具集成到项目中时,对报表结果导出的设计中就应用了简单工厂模式。
1、定义Exporter接口
public interface Exporter { public void doExport(); }
2、定义具体类
public class HTMLExporter implements Exporter { public void doExport() { System.out.println("报表结果导出为HTML页面"); } } public class EXCELExporter implements Exporter { public void doExport() { System.out.println("报表结果导出为Excel文件"); } } public class PDFExporter implements Exporter { public void doExport() { System.out.println("报表结果导出为PDF文件"); } }
3、简单工厂类
public class ExporterFactory { private static final String EXPORTER_TYPE_HTML = "html"; private static final String EXPORTER_TYPE_EXCEL = "excel"; private static final String EXPORTER_TYPE_PDF = "pdf"; public static Exporter getExporter(String type){ if(EXPORTER_TYPE_HTML.equals(type)){ return new HTMLExporter(); }else if(EXPORTER_TYPE_EXCEL.equals(type)){ return new EXCELExporter(); }else if(EXPORTER_TYPE_PDF.equals(type)){ return new PDFExporter(); } return null; } }
在简单工厂模式中,工厂类是整个模式的关键所在。它包含必要的判断逻辑,能够根据外界给定的信息,决定究竟应该创建哪个具体类的对象。
三、应用情景
1、工厂类负责创建的对象比较少。
2、客户只知道传入工厂类的参数,对于如何创建对象不关心。
相关推荐
简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定应该创建出哪一个产品类的实例。简单工厂模式实际上不属于23个GoF模式,但它可以作为GoF的工厂方法模式(Factory Method)的一个引导。 UML: ...
1、简单工厂模式(Simple Factory Pattern): 简单工厂模式通过一个工厂类来决定创建哪种具体类的实例。这个工厂类通常提供一个静态方法,根据传入的参数创建相应的对象。 2、工厂方法模式(Factory Method ...
简单工厂模式(Simple Factory Pattern)是一种静态工厂方法,它通过一个公共的工厂类来创建对象。这个工厂类通常包含一个或多个静态方法,用于根据输入参数创建不同类型的实例。这种模式的优点在于客户端代码无需...
简单工厂模式(Simple Factory Pattern)是工厂方法模式的一个简化版本,它没有定义工厂接口,只有一个具体工厂类负责创建所有对象。简单工厂模式适用于产品种类较少,且不会频繁改变的情况。 在实际应用中,工厂...
1. **简单工厂模式(Simple Factory Pattern)**:由一个静态方法来创建产品对象,它是最简单的工厂模式形式,但不利于扩展,因为静态方法不能被继承。 2. **工厂方法模式(Factory Method Pattern)**:定义一个...
java设计模式 简单工厂模式详解 simple factory static pattern
简单工厂模式(Simple Factory Pattern) .net简单工厂模式实例源代码
简单工厂模式(Simple Factory)是一种基本的工厂模式,它使用一个工厂对象来创建同一类对象的实例。例如,在开发一个公司岗位及其工作内容的录入信息系统时,可以使用简单工厂模式来创建不同岗位的对象实例。 工厂...
1. **简单工厂模式(Simple Factory Pattern)**:它包含一个工厂类,根据输入参数决定创建哪种类型的对象。在VS2019工程中,可能有一个静态方法或函数,根据输入条件返回不同的产品实例。 2. **工厂方法模式...
在我们的“simplefactory.zip”文件中,我们可以看到一个简单的工厂模式实现示例。这个例子可能包括以下几个部分: - 一个接口,例如`Product`,定义了产品类的基本行为。 - 若干个实现`Product`接口的具体产品类,...
首先,我们来看一下“简单工厂模式”(Simple Factory Pattern)。这种模式的核心思想是提供一个工厂类,负责根据输入条件创建具体的产品对象。在这个例子中,"pre1"可能是原始的、未使用设计模式的代码,可能直接...
1. 简单工厂模式(Simple Factory Pattern) 简单工厂模式是工厂模式的最基础形式,通过一个公共的工厂类来创建对象。这个工厂类通常包含一个静态方法,可以根据传入的参数来决定创建哪个类的实例。这种模式适用于...
Simple Factory Pattern 工厂角色:是简单工厂的核心,他负责实现创建所有实例内部逻辑.工厂类可以被外界直接调用,创建所需的产品对象 抽象产品角色:是简单工厂模式所创建的所有对象父类,他负责描述所有实例所共有的...
1. **简单工厂模式(Simple Factory Pattern)**: - 简单工厂模式是一种静态工厂方法模式,它包含一个静态工厂类,负责创建对象。在这个例子中,可能有一个名为`Factory`的类,其中包含一个静态方法,如`...
首先,我们来看简单工厂模式(Simple Factory Pattern)。它是一个类的工厂,负责创建对象,客户通过调用工厂类的静态方法来获取所需的对象,而无需知道具体创建的对象类型。这种模式的主要优点是将对象的创建与使用...
1. 简单工厂模式(Simple Factory Pattern):也称为静态工厂方法模式,通过一个静态方法来创建对象,该静态方法根据传入的参数返回不同的实例。 2. 工厂方法模式(Factory Method Pattern):属于多态性设计模式,...
总的来说,这个"calculator-of-Simple-Factory-Pattern.rar_factory"项目展示了如何运用简单工厂模式来构建一个计算器系统,使得系统能够根据不同的计算需求动态地创建相应的计算器对象,同时也为未来的功能扩展打下...
简单工厂模式(Simple Factory Pattern)又称静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建...
简单工厂模式(Simple Factory Pattern)是一种常用的设计模式,它属于创建型模式。这种模式提供了一个创建对象的静态方法,这个方法可以根据传入的一个参数决定应该实例化哪一个类。简单工厂模式的主要优点是客户端...