书城计算机大话设计模式
11030400000122

第122章 8“工厂模式”与“抽象工厂模式”的区别

小A:“那‘工厂模式’与‘抽象工厂模式’有什么区别?”

大B:“在了解它们的区别之前有必须对两个概念做进一步的认识,那就是‘产品族’和‘产品等级’他们很容易区别在模式设计到底用那种工厂方法。”

小A:“什么是产品族呢?”

大B:“产品等级:简单的说就是不同类的产品就叫不同的产品族,比如电脑,苹果,桌子……等就是一个产品族。他们的物理特性和外型都不相同。”

小A:“什么又是产品等级呢?”

大B:“产品族:就是同一种东西的不同类型。例如,PC有联想的,IBM,方正……的等等,这些对象就构成一个产品等级。而抽象工厂模式解决的就是如果产生不同等级,不同产品族的产品(对象)结构模仿一个果园,假设果园应该能够出产水果,蔬菜,这时水果和蔬菜就是不同的东西,也即使是前面所说的产品等级;水果和蔬菜分别会有北方的,还会有塑料大棚里面生产的热带水果,蔬菜,这时的分类就是产品等级。而这样的结构就可以用提到的抽象工厂模式!”