Abstract Factory 模式是 Factory的升级版, 即 Abstractory Factory 是产生 Factory的Factory, 如下图:
PlantFactory 为一个基类, 它下面继承了三个工厂,依次用来产生一年生、二年生、三年生植物的,且无论是一年生、二年生、三年生植物工厂都可以产生适用于 “花园边界”(boarder)植物,适用于"花园中心"(center)的植物,适用于"花园阴影"(shade)的植物。
GardenManager也是一个工厂,它根据不同的参数,应用 getPlantFac 方法产生不同的 PlantFactory, 所以 GardenManager是工厂的工厂。