工厂设计模式

缘起

工厂设计模式是经常在面试被问到的. 其实很简单, 但就怕隔久了不看,面试一问短时间会懵逼. 所以既不画图,也不写代码,来讲述一下这玩意是啥.

分析

工厂设计模式分成

  1. 简单工厂模式
  2. 工厂方法模式
  3. 抽象工厂模式

三种. 现一一论述如下

简单工厂模式

就是工厂类(厨子)中对于客户端(食客)的请求,如果客户端要A(牛排),工厂类就new 一个A返回客户, 客户要B(炸酱面),工厂类就new 一个B 返回客户.

工厂方法模式

简单工厂模式的短板是显然的——只有一个厨子,而且这个厨子要记得好多菜谱哦!!! 所以工厂方法模式就多招了几个厨子(具体工厂).譬如两个吧,一个是红案师傅(负责肉菜),一个是白案师傅(负责面点)。 原先的那个啥都会的厨子升级为总厨(抽象工厂),则食客要牛排的时候,总厨就让红案师傅出马来做, 食客要面点的时候,就让白案师傅出马来做. 这样做的好处是,如果要加菜品的话,只需要多招几个厨子就行了,不需要总厨做判断。

抽象工厂

就是工厂方法中要求每个具体工厂不能只会做一种菜,要会做多种菜.