一、介绍
- 简单工厂模式属于创建型模式,是工厂模式的一种,是工厂模式中最简单实用的模式
- 定义了一个创建对象的类,由这个类来封装实例化对象的行为
- 简单工厂也叫静态工厂模式,是工厂方法模式的简化
二、实现
1、简单工厂实现
Ⅰ、代码
public abstract class Product {
public void method1(){
public abstract void method2();
}
public class ConcreteProduct1 extends Product {
@Override
public void method2() {
}
}
public class ConcreteProduct2 extends Product {
@Override
public void method2() {
}
}
public class ConcreteCreator {
public static <T extends Product> T createProduct(Class<T> c) {
Product product = null;
try {
product = (Product) Class.forName(c.getName()).newInstance();
} catch (Exception e) {
}
return (T) product;
}
}
public class Client {
public static void main(String[] args) {
Product product = ConcreteCreator.createProduct(ConcreteProduct1.class);
}
}
Ⅱ、优点
Ⅲ、缺点
三、使用场景
- 工厂类负责创建的对象较少
- 客户端只需要传入工厂类的参数,对于如何创建对象的逻辑不需要关心
- JDK中Calendar.getInstance()方法中使用的就是简单工厂模式