抽象工厂模式是对一系列产品的统一和管理

公共工厂接口

   
   
   
   
  1. public interface Creator{     
  2.      public ProductA factoryA();     
  3.      public ProductB factoryB();     

具体工厂类1

   
   
   
   
  1. public class ConcreteCreator1 implements Creator{           
  2.   public ProductA factoryA(){     
  3.     return new ProductA1();     
  4.   }     
  5.   public ProductB factoryB(){    
  6.    return new ProductB1();    
  7.  }    

具体工厂类2

   
   
   
   
  1. public class ConcreteCreator2 implements Creator{       
  2.   public ProductA factoryA(){     
  3.     return new ProductA2();     
  4.   }     
  5.   public ProductB factoryB(){     
  6.     return new ProductB2();     
  7.   }     
  8. }  

抽象产品类A

   
   
   
   
  1. public interface ProductA   {   } 

抽象产品类B

   
   
   
   
  1.  public interface ProductB   {   } 

具体产品类ProductA1

   
   
   
   
  1. public class ProductA1 implements ProductA   {    } 

具体产品类ProductA2

   
   
   
   
  1. public class ProductA2 implements ProductA   {    }

具体产品类ProductB1

   
   
   
   
  1. public class ProductB1 implements ProductB   {    }

具体产品类ProductB2

   
   
   
   
  1. public class ProductB2 implements ProductB   {    }