抽象工厂模式git
实现过程github
产品接口
public interface Product1 { } public interface Product2 { }
具体产品类
public class ProductA1 implements Product1 { public ProductA1(){ System.out.println("Product : " + this.getClass().getSimpleName()); } } public class ProductA2 implements Product2 { public ProductA2(){ System.out.println("Product : " + this.getClass().getSimpleName()); } }
定义抽象工厂
public abstract class AbstractFactory { public abstract Product1 create1(); public abstract Product2 create2(); }
产生产品的具体工厂
public class FactoryA extends AbstractFactory{ @Override public Product1 create1() { return new ProductA1(); } @Override public Product2 create2() { return new ProductA2(); } }
调用方法
public static void main(String[] args) { AbstractFactory abstractFactory = new FactoryA(); abstractFactory.create1(); abstractFactory.create2(); }
输出
Product : ProductA1 Product : ProductA2
源码ide
https://github.com/Seasons20/DisignPattern.git
ENDthis