工厂模式(一)简单工厂模式

逆流者 2020年08月05日 61次浏览

简单工厂模式是由一个工厂对象决定创建出哪一种产品实例的方式。
在创建一个对象时不向客户暴露内部细节,并提供一个创建对象的通用接口。

  • 创建一个产品通用接口,不向用户暴露细节
  • 实例化操作放在一个简单的工厂类中
public interface Product {
	public void msg();
}
public class Product1 implements Product {
	public void msg() {
		System.out.println("我是Product1 ");
	}
}
public class Product2 implements Product {
	public void msg() {
		System.out.println("我是Product2 ");
	}
}
public class Product3 implements Product {
	public void msg() {
		System.out.println("我是Product3 ");
	}
}
public class SimpleFactory {

    public Product createProduct(int type) {
        if (type == 2) {
            return new Product2();
        } else if (type == 3) {
            return new Product3();
        }
        // Product1 当做默认产品
        return new Product1();
    }
}
public class Client {

    public static void main(String[] args) {
        SimpleFactory simpleFactory = new SimpleFactory();
        Product product = simpleFactory.createProduct(2);
        product.msg();
    }
}

结果:
我是Product2