认识
简单工厂模式又叫静态工厂方法模式,因为它创建实例的方法通常为静态方法。它的思想是,把被创建的对象称为“产品”,把创建产品的对象称为“工厂”。如果要创建的产品不多,只要一个工厂类就可以完成,这种模式叫“简单工厂模式”。
应用场景
对于产品种类相对较少的情况,考虑使用简单工厂模式。使用简单工厂模式的客户端只需要传入工厂类的参数,不需要关心如何创建对象的逻辑,可以很方便地创建所需产品。
实现
public class Client {
public static void main(String[] args) {
}
//抽象产品
public interface Product{
void show();
}
//具体产品 ProductA
static class ConcreteProduct1 implements Product{
@Override
public void show() {
System.out.println("具体产品1");
}
}
//具体产品 ProductB
static class ConcreteProduct2 implements Product{
@Override
public void show() {
System.out.println("具体产品2");
}
}
final class Const{
static final int PRODUCT_A = 0;
static final int PRODUCT_B = 1;
static final int PRODUCT_C = 2;
}
static class SimpleFactory{
public static Product makeProduct(int kind){
switch (kind){
case Const.PRODUCT_A:
return new ConcreteProduct1();
case Const.PRODUCT_B:
return new ConcreteProduct2();
}
return null;
}
}
}