工厂模式笔记
OOP七大原则:(工厂模式遵循的三大原则)
- 开闭原则理解:不对原来的代码作出改变,尽量使用增加的方法实现新的功能
- 依赖倒转原则
- 迪米特法则
核心本质:
- 实例化对象不适用new,用工厂方法代替
- 将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦
三种模式:
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
simple工厂模式
simple工厂模式理解(括号是比喻):
- 1、Car(接口)规定了怎么制造车
- 2、wulin 和 tesla 调用了Car接口用来制造车
- 3、车造好后由Farctory提供给消费者
小结:对比new的方法来说,消费者不需要知道怎么制造车。
只需要知道有什么车就好了。
但是他不符合开闭原则:如果这时候需要增加一个新的车Farctory都需要作出改变。
工厂方法模式
工厂方法模式理解:
1、Car接口和 Farctory接口分别规定了各个部分该怎么工作
- 2、wulin 和 wulinFarctory按照规定工作
- 3、wulin 在制造好车后把车给了wulinFarctiry (wulinFarotry中调用了wulin() 这个方法)
- 4、之后消费者可以从各个专卖店买到自己想要的车
小结:这里符合开闭原则,如果要增加一个新的车型,只需要添加一个新的专卖店和工厂,而不需要对原来的任何东西作出改变。
但是它很麻烦
总结:
-
简单工厂模式:
- 虽然某种程度上不符合设计原则,但是实际使用最多
-
工厂方法模式:
- 不修改已有类的前提下,通过增加新的工厂类实现扩展
-
抽象工厂方法:
- 不可以增加产品,可以增加产品族。