简单工厂
核心思想:由一个工厂生产多个产品。
代码思路:1个实际工厂类+1个抽象产品类+N个实际产品类。
工厂方法
核心思想:每一类产品都有一个单独的工厂专门生产,每个工厂只生产一类产品。
代码思路:1个抽象工厂类+N个实际工厂类,1个抽象产品类+N个实际产品类
抽象工厂
核心思想:每个工厂可以生产一个产品族。例如电脑外设,鼠标、键盘、显示器等是一个产品族(如下图的产品A、产品B),而不同的电脑外设品牌都有自己的产品族,即每个品牌有自己的生产工厂(工厂1是品牌1的工厂,工厂2是品牌2的工厂,这里先假设就是这样,不考虑代工厂、贴牌等实际情况)。
代码思路:1个抽象工厂类+N个实际工厂类,N个抽象产品类(即一个产品族)+N*N个实际产品类(因为有N个实际工厂)。