工厂模式:
实现了创建者与调用者的离
详细分类:
简单工厂模式
用来生产同一等级结构中的任意产品,对于增加新产品,需要修改已有代码
工厂方法模式
用来生产同一等级结构中的固定产品,支持增加任意产品
抽象工厂模式
用来生产不同产品族的全部产品,对于增加新的产品,无能为力,支持增加产品族
面向对象设计的基本原则:
OCP(开闭原则, Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。
DIP(依赖倒转原则,Dependence Incersion Principle):要针对接口编程,不要针对实现编程。
LoD(迪米特法则, Law if Demeter):只与你直接的朋友通信,而避免和陌生人通信
核心本质:
实例化对象,用工厂方法代替new 操作
将选择实现类,创建对象统一管理和控制,从而将调用者与实现类解耦
简单工厂模式:
- 接口类
- Aodi类
- BYD类
- 工厂类
- 测试类
- 接口类
工厂方法模式
- 工厂接口
- 奥迪工厂类
- BYD工厂类
- 测试类
当需要增加产品时,增加一个相应的类和相应的工厂类
抽象工厂模式:
Engine接口及实现类
Seat接口及实现类
Tyre接口及实现类
工厂接口
工厂实现类(组装工厂)
测试类
当我们需要不同的产品时,只需要实现工厂接口来组装不同型号的产品