设计模式——简单工厂模式

简单工厂模式(simple factory method),又叫静态工厂模式(static factory method),简单工厂模式主要思路是一个工厂对象决定创建出哪一类,主要包含工厂类、抽象产品类和具体产品类。

抽象产品类:

public interface Product {
    void print();
}

具体产品类实现接口或者继承抽象类:

public class AProduct implements Product {

    @Override
    public void print() {
        System.out.println("This is A Product");
    }
}
public class BProduct implements Product {
    @Override
    public void print() {
        System.out.println("This is B Product");
    }
}

工厂类主要通过选择逻辑实现不同产品的创建:

public class Factory {
    public static Product createProduct(String type)
    {
        switch (type) {
            case "A":
                return new AProduct();
            case "B":
                return new BProduct();
                default:
                    return null;
        }

    }
}

主程序调用:

public class Client {
    public static void main(String []args)
    {
        Factory.createProduct("A").print();
        Factory.createProduct("B").print();


    }
}

结果:

This is A Product
This is B Product

总结:

客户端只知道传入工厂类的参数,对于如何创建对象不关心:客户端既不需要关心创建细节,甚至连类名都不需要记住,只需要知道类型所对应的参数。

应用实例:工具类java.text.DateFormat