一、工厂模式
1.1 遵循OOP原则:
开闭原则:软件的试题应实体扩展开放,对修改关闭。
依赖倒置原则:针对接口编程,不针对实现编程
迪米特法则:只与直接的朋友通信,避免与陌生人通信。
1.2 核心本质:
实例化对象不使用new,用工厂方法代替
将选择实现类,创建对象统一管理和控制。从而将调用者跟我们的实现类解耦。
1.3 三种模式:
简单工厂模式
用来生产同一等级结构中的任意产品(对于增加新的产品,需要覆盖已有代码)
工厂方法模式
用来生产同一等级结构中的固定产品(支持增加任意产品)
抽象工厂模式
围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。
1.4 小结:
简单工厂模式(静态工厂模式)
虽然某种程度上不符合设计原则,但实际使用最多!
工厂方法模式
不修改已有类的前提下,通过增加新的工厂类实现扩展。
抽象工厂模式
不可以增加产品,可以增加产品族!
1.5 应用场景:
JDK中Calendar的getInstance方法
JDBC中的Connection对象的获取
e Spring中IOC容器创建管理bean对象
反射中Class对象的newInstance方法