两个最重要的功能
1. 定义创建对象的接口,封装了对象的创建
2. 使具体化类的工作推迟到了子类中
该模式涉及到如下几个类:
1. Factory以及其子类ConcreteFactory;
2. Product以及其子类ConcreteProduct;
Factory提供接口,来封装Product子类的创建。 这一创建过程的实现是在Factory子类中。
对于Product子类有多个时,为避免增加成员函数或者增加Factory子类的代价,Factory提供的接口具有参数,参数就是Product子类的类型