三种工厂模式

三种工厂模式

23种设计模式中,工厂设计模式有3种:简单工厂、工厂方法、抽象工厂

工厂设计模式相关的概念:
1、抽象产品
接口、抽象类
2、产品
普通类
3、产品簇
4、产品等级

简单工厂设计模式

优点:

把具体类型,从客户端代码中,解耦出去了。 客户端代码不用依赖于具体类名,只需要通过工厂来获取类的实例即可。

缺点:

1、客户端程序猿不得不记住一大堆的常量与类名的映射关系,比如:1对应汉堡包,2对应薯条.......
2、当客户端想增加一个新的产品时,是没有办法融入到作者的代码体系中的。,
为了解决这个问题,我们需要使用“工厂方法”设计模式!!

工厂方法设计模式

优点:

1、工厂方法,仍然具备简单工厂的优点,也就是,能把具体产品的类名从客户端解耦出去!
2、当客户端需要自己扩展产品的时候,不用修改作者原来的代码,只需要实现2个接口即可。

缺点:

1、当“产品等级”很多的时候,工厂类的数量会“爆炸式”增长!!!
为了解决这个问题,我们需要使用“抽象工厂”设计模式!

抽象工厂设计模式

优点:

1、抽象工厂仍然能把具体类名从客户端解耦
2、防止了工厂类的数量爆炸式增长的问题。

缺点:

1、当产品等级发生变化的时候,势必会“牵一发而动全身”! 要修改以前所有的工厂代码,所以当系统中的产品等级不稳定的时候,建议不要使用抽象工厂

posted @ 2019-10-14 19:21  尘欣似故  阅读(105)  评论(0)    收藏  举报