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