`

"简单工厂模式(Simple Factory)"总结,又叫静态工厂方法(Static Factory Method)

阅读更多
下面讲解简单工厂模式:

意图:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。通常它根据比变量的不同返回不同的类的实例。


简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建出哪一个产品类的实例。


简单工厂模式(Simple Factory)模式的构成:
1、工厂类(Creator)角色:担任这个角色的是简单工厂模式的核心,含有与应用紧密相关的商业逻辑。工厂类在客户端的直接调用下创建产品对戏那个,它往往由一个具体类实现。
2、抽象产品(Product)角色:担任这个角色的类是简单工厂模式所创建的对象的父类,或它们共同拥有的接口。抽象产品角色可以用一个接口或抽象类实现。
3、具体产品(Concretr Product)角色:简单工厂模式所创建的任何对象都是这个角色的实例,具体产品角色由一个具体类实现。


下面自己实现一个简单工厂模式:
package com.shengshiyuan.simplefactory;

/**
 * 抽象产品角色(抽象类或接口)
 * 类: Product <br>
 * 描述: TODO <br>
 * 作者: 
 * 时间: Dec 5, 2013 2:42:11 PM
 */
public abstract class Product {

}

package com.shengshiyuan.simplefactory;

/**
 * 具体产品角色
 * 类: ConcreteProductA <br>
 * 描述: TODO <br>
 * 作者: 
 * 时间: Dec 5, 2013 2:44:18 PM
 */
public class ConcreteProductA extends Product {

}

package com.shengshiyuan.simplefactory;

/**
 * 具体产品角色
 * 类: ConcreteProductB <br>
 * 描述: TODO <br>
 * 作者: 
 * 时间: Dec 5, 2013 2:44:36 PM
 */
public class ConcreteProductB extends Product {

}

package com.shengshiyuan.simplefactory;

/**
 * 工厂类角色
 * 类: Creater <br>
 * 描述: TODO <br>
 * 作者: 
 * 时间: Dec 5, 2013 2:45:22 PM
 */
public class Creator {
	public static Product createPruduct(String str) {
		if ("A".equals(str)) {
			return new ConcreteProductA();
		} else if ("B".equals(str)) {
			return new ConcreteProductB();
		}
		return null;
	}
}

package com.shengshiyuan.simplefactory;

/**
 * 客户端测试类
 * 类: Client <br>
 * 描述: TODO <br>
 * 作者: 
 * 时间: Dec 5, 2013 2:47:16 PM
 */
public class Client {
	public static void main(String[] args) {
		Product productA = Creator.createPruduct("A");
		System.out.println(productA.getClass().getName());

		Product productB = Creator.createPruduct("B");
		System.out.println(productB.getClass().getName());
	}
}
分享到:
评论

相关推荐

    Simple Factory Pattern.rar【GoF的简单工厂模式(C#源码)】

    简单工厂(Simple Factory)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例。 简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定...

    Java设计模式之工厂模式(Factory)

    2. **工厂方法模式(Factory Method)**:用于处理不同类型的对象创建过程,提供了一种接口来创建一系列相关或相互依赖的对象。 3. **抽象工厂模式(Abstract Factory)**:不仅关注单一类别的对象创建,还关注一...

    JAVA设计模式之工厂模式.pdf

    简单工厂模式(Simple Factory Pattern)又称静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建...

    C#中的简单工厂模式与工厂方法模式

    工厂方法模式(Factory Method Pattern)也是一种常用的创建型模式。它的核心思想是在基类中定义一个创建对象的接口,让子类决定实例化哪一个类。这种模式将实例化的工作推迟到子类去完成。 ##### 3.2 实现原理 ...

    C语言工厂模式

    简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。 简单工厂模式的优点: * decoupling:简单工厂模式可以将对象的创建与使用...

    工厂模式详尽源码

    以下是关于工厂模式的三种子模式——简单工厂(静态工厂)、工厂方法模式和抽象工厂模式的详细解释和源码解析。 1. **简单工厂模式**: 简单工厂模式通常包含一个中心工厂类,它负责根据传入的参数或条件来决定...

    工厂模式详细介绍大全

    - 简单工厂模式也被称为静态工厂方法模式。它是最简单的工厂模式,其目的是定义一个创建对象的接口,但让实现延迟到子类中。 - **组成**: - **工厂类**:负责创建对象的类,包含创建对象的逻辑。 - **抽象...

    java 反射工厂模式

    在Java中,工厂模式通常包括抽象工厂(Abstract Factory)、简单工厂(Simple Factory)和工厂方法(Factory Method)。这种模式的主要优点是: 1. 客户端代码与具体实现解耦:客户端只需知道工厂接口,无需了解...

    JAVA设计模式之工厂模式

    工厂方法模式 (Factory Method) 工厂方法模式进一步扩展了简单工厂模式的思想,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 **特点**: - 定义了一个...

    java工厂模式java工厂模式.doc

    2. 工厂方法模式(Factory Method):该模式是对简单工厂模式的扩展,使用一个工厂类和一个抽象产品角色来创建对象。 3. 抽象工厂模式(Abstract Factory):该模式是最复杂的一种,使用一个抽象工厂类和多个具体...

    java与模式的思考

    1. **简单工厂模式(Simple Factory)/ 静态工厂方法模式(Static Factory Method)** - 在简单工厂模式中,一个工厂类根据输入参数决定创建哪个类的实例。这种模式的核心是工厂类,它包含必要的判断逻辑来决定何时...

    简单工厂模式 应用

    简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 将“类实例...

    [原创][创建型模式] 简单工厂、工厂方法、抽象工厂三种设计模式的理解

    工厂方法模式将对象的创建委托给子类,使得创建过程可以延迟到子类中进行。在C++中,这通常通过定义一个抽象基类(包含工厂方法),然后由不同的派生类实现具体的工厂方法。例如,`FactoryMethodPattern.cpp`和`...

    Java单例模式与工厂模式简单示例代码

    工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。简单工厂模式使代码使用更加灵活,易于扩展。 ```java // 创建产品接口 ...

    Java设计模式之一工厂模式

    - **工厂方法模式(Factory Method)**:定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 - **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互依赖对象的...

    java(工厂设计模式)

    1. **简单工厂模式**(Simple Factory Pattern):这是最基础的工厂模式,也称为静态工厂方法模式。它由一个静态工厂类负责创建一系列相关的对象,这些对象通常具有共同的接口。 2. **工厂方法模式**(Factory ...

    PHP设计模式(一)工厂模式Factory实例详解【创建型】

    1. **简单工厂模式(Simple Factory)**:也称为静态工厂方法模式,它是一个类,包含了一个静态方法用于创建对象。这个静态方法根据输入参数返回一个对象实例。 2. **工厂方法模式(Factory Method)**:定义一个...

    java设计模式源代码和原理

    简单工厂模式又称为静态工厂方法模式。它是最简单的工厂模式之一,主要用于定义一个用于创建对象的接口,让子类决定实例化哪一个类。简单工厂模式的核心在于一个包含一定商业逻辑和判断逻辑的工厂类。 - **工厂类**...

Global site tag (gtag.js) - Google Analytics