下面讲解简单工厂模式:
意图:简单工厂模式是类的创建模式,又叫做静态工厂方法(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)模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常它根据自变量的不同返回不同的类的实例。 简单工厂模式的实质是由一个工厂类根据传入的参量,动态决定...
2. **工厂方法模式(Factory Method)**:用于处理不同类型的对象创建过程,提供了一种接口来创建一系列相关或相互依赖的对象。 3. **抽象工厂模式(Abstract Factory)**:不仅关注单一类别的对象创建,还关注一...
简单工厂模式(Simple Factory Pattern)又称静态工厂方法(Static Factory Method)模式,它属于类创建型模式。在简单工厂模式中,可以根据自变量的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建...
工厂方法模式(Factory Method Pattern)也是一种常用的创建型模式。它的核心思想是在基类中定义一个创建对象的接口,让子类决定实例化哪一个类。这种模式将实例化的工作推迟到子类去完成。 ##### 3.2 实现原理 ...
简单工厂模式又称为静态工厂方法(Static Factory Method)模式,属于类的创建型模式,通常根据一个条件(参数)来返回不同的类的实例。 简单工厂模式的优点: * decoupling:简单工厂模式可以将对象的创建与使用...
以下是关于工厂模式的三种子模式——简单工厂(静态工厂)、工厂方法模式和抽象工厂模式的详细解释和源码解析。 1. **简单工厂模式**: 简单工厂模式通常包含一个中心工厂类,它负责根据传入的参数或条件来决定...
- 简单工厂模式也被称为静态工厂方法模式。它是最简单的工厂模式,其目的是定义一个创建对象的接口,但让实现延迟到子类中。 - **组成**: - **工厂类**:负责创建对象的类,包含创建对象的逻辑。 - **抽象...
在Java中,工厂模式通常包括抽象工厂(Abstract Factory)、简单工厂(Simple Factory)和工厂方法(Factory Method)。这种模式的主要优点是: 1. 客户端代码与具体实现解耦:客户端只需知道工厂接口,无需了解...
工厂方法模式 (Factory Method) 工厂方法模式进一步扩展了简单工厂模式的思想,它提供了一个创建对象的接口,但允许子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 **特点**: - 定义了一个...
2. 工厂方法模式(Factory Method):该模式是对简单工厂模式的扩展,使用一个工厂类和一个抽象产品角色来创建对象。 3. 抽象工厂模式(Abstract Factory):该模式是最复杂的一种,使用一个抽象工厂类和多个具体...
1. **简单工厂模式(Simple Factory)/ 静态工厂方法模式(Static Factory Method)** - 在简单工厂模式中,一个工厂类根据输入参数决定创建哪个类的实例。这种模式的核心是工厂类,它包含必要的判断逻辑来决定何时...
简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。 将“类实例...
工厂方法模式将对象的创建委托给子类,使得创建过程可以延迟到子类中进行。在C++中,这通常通过定义一个抽象基类(包含工厂方法),然后由不同的派生类实现具体的工厂方法。例如,`FactoryMethodPattern.cpp`和`...
消费者模型网络一个类实现RPC框架设计模式创造型模式(Creative)工厂简单模式(Simple Factory)工厂方法模式(工厂方法)抽象工厂模式(Abstract Factory)静态工厂方法模式(Static Factory Method)创建者模式...
工厂模式分为简单工厂模式、工厂方法模式和抽象工厂模式。 1. **简单工厂模式**:定义一个用于创建对象的接口,让子类决定实例化哪一个类。简单工厂模式使代码使用更加灵活,易于扩展。 ```java // 创建产品接口 ...
- **工厂方法模式(Factory Method)**:定义一个创建对象的接口,让子类决定实例化哪一个类。工厂方法让类的实例化推迟到子类。 - **抽象工厂模式(Abstract Factory)**:提供一个创建一系列相关或相互依赖对象的...
1. **简单工厂模式**(Simple Factory Pattern):这是最基础的工厂模式,也称为静态工厂方法模式。它由一个静态工厂类负责创建一系列相关的对象,这些对象通常具有共同的接口。 2. **工厂方法模式**(Factory ...
1. **简单工厂模式(Simple Factory)**:也称为静态工厂方法模式,它是一个类,包含了一个静态方法用于创建对象。这个静态方法根据输入参数返回一个对象实例。 2. **工厂方法模式(Factory Method)**:定义一个...