简单工厂模式一般的使用场景是创建对象,工厂可以为我们提供创建对象的功能,无须关心如何去创建的。以下以一个简单的Demo为例:
首先创建一个产品接口:ProductParent
public interface ProductParent{
}
假设有三个产品,ProductA、ProductB、ProductC
public class ProductA implements ProductParent{ public ProductA() { System.out.println("生成A产品"); } }public class ProductB implements ProductParent{ public ProductB() { System.out.println("生成B产品"); } }public class ProductC implements ProductParent{ public ProductC() { System.out.println("生成C产品"); } }此时创建工厂类:ProductFactorypublic class ProductFactory {
public static final int PRODUCTA = 0; public static final int PRODUCTB = 1; public static final int PRODUCTC = 2;
public static ProductParent create(int type) {switch (type) {
case PRODUCTA:
return new ProductA();
case PRODUCTB : return new ProductB();
case PRODUCTC : return new ProductC();
default:
return new ProductA();
}
}
}
工厂类构建完毕,使用测试类:Testpublic class Test {
@Test public void produce(){
//创建A产品 ProductParent product = ProductFactory.create(ProductFactory.PRODUCTA); } }