简单工厂模式(simple factory):类的创建模式,又叫静态工厂方法(static factory method)模式。
简单工厂模式就是由一个工厂类根据传入的参数决定创建哪一种的产品类。抽象工厂模式(Abstract Factory):多个抽象产品类,派生出多个具体产品类;一个抽象工厂类,派生出多个具体工厂类;每个具体工厂类可创建多个具体产品类的实例。即提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们的具体的类。工厂与产品是“一对多”的关系。
简单工厂模式
工厂方法模式
package com.designpattern.factory; public interface ProductA { public void describe(); }
package com.designpattern.factory; public class ProductA1 implements ProductA { @Override public void describe() { System.out.println("this is ProductA1"); } }
package com.designpattern.factory; public class ProductA2 implements ProductA { @Override public void describe() { System.out.println("this is ProductA2"); } }
package com.designpattern.factory.factorymethod; import com.designpattern.factory.ProductA; public interface ProductACreator { public ProductA createProduct(); }
package com.designpattern.factory.factorymethod; import com.designpattern.factory.ProductA; import com.designpattern.factory.ProductA1; public class ProductA1Creator implements ProductACreator { @Override public ProductA createProduct() { return new ProductA1(); } }
package com.designpattern.factory.factorymethod; import com.designpattern.factory.ProductA; import com.designpattern.factory.ProductA2; public class ProductA2Creator implements ProductACreator { @Override public ProductA createProduct() { return new ProductA2(); } }
欢迎扫描二维码,关注公众号