备注
工厂模式:要么生产香蕉、要么生产苹果、要么生产西红柿;但是不能同时生产一个产品组。
抽象工厂:能同时生产一个产品族。===》抽象工厂存在原因
解释 :
具体工厂在开闭原则下, 能生产:香蕉/苹果/梨子; (产品等级结构)
抽象工厂:在开闭原则下, 能生产:南方香蕉/苹果/梨子 (产品族) 北方香蕉/苹果/梨子
重要区别:
工厂模式只能生产一个产品。(要么香蕉、要么苹果)
抽象工厂可以一下生产一个产品族(里面有很多产品组成)
区别 | 简单工厂 | 工厂方法 | 抽象工厂 |
---|---|---|---|
是否静态 | 是 | 否 | 否 |
抽象类产品 | 一个 | 一个 | 多个 |
抽象类工厂 | 无 | 一个 | 一个 |
产品 | +产品 | ||
产品组 | + 产品组 |
简单工厂
工厂方法
抽象工厂
设计模式 -(1)简单工厂模式(创建型)
设计模式 -(2)工厂方法模式(创建型)
设计模式 -(3)抽象工厂模式(创建型)