AbstractProduct(抽象产品):负责定义AbstractFactory角色所生成的抽象零件和产品的接口

AbstractFactory(抽象工厂):定义用于生成抽象产品的接口

ConcreteProduct(具体产品):负责实现抽象产品接口

ConcreteFactory(具体工厂):生产具体的产品