1.简介

隐藏复杂逻辑的处理过程,注重结果
现实生活:我们需要一辆车,只需要关注这辆车生产后的,生产过程不用管,也不管生产车的工厂

2.简单工厂

实现:通过接受不同参数来返回不同对象实例
问题:仅同过一个工厂生产不同的产品,业务逻辑紊乱,维护困难
升级:给每个产品建个工厂,业务逻辑单独处理,高内聚——>工厂方法

3.工厂方法

实现:针对每一个产品提供一个工厂,要获得产品要先获得工厂的实例,然后再获得产品
问题:增加了代码的使用复杂度,每次获得产品还要新建一个工厂
升级:把工厂抽象出来——>抽象工厂

4.抽象工厂

实现:在工厂方法的基础上把工厂抽象出来

5.上代码

地址 https://gitee.com/charjay/design