工厂模式
1、分类
工厂模式实现了创建者和调用者的分离
类型 | 特点 |
---|---|
简单工厂模式 | 也叫静态工厂模式,使用不同的静态方法构造不同的实例。但在不修改代码情况下,无法构造新产品。在简单工厂模式中,新产品的加入要修改工厂角色中的判断语句。 |
工厂方法模式 | 在工厂方法模式中,要么将判断逻辑留在抽象工厂角色中,要么在客户程序中将具体工厂角色写死。 |
抽象工厂模式 | 不可增加产品,可增加产品族 |
2、类图
(1)简单工厂模式
(2)工厂方法模式
(3)抽象工厂模式
3、面向对象设计的三原则
这三种原则都是让程序更具扩展性。
名称 | 含义 |
---|---|
开闭原则(OCP) | 一个软件的实体应当与扩展开放,对修改闭合 |
依赖倒转原则(DIP) | 要针对接口编程,不要针对实现编程 |
迪米特原则(LoD) | 只和你的朋友通讯,避免和陌生人通信 |
4、应用场景
(1)、jdk中Calendar的getInstance方法
(2)、JDBC中Connection对象的获取
(3)、spring的IOC容器创建管理bean对象(工厂、单例模式)
(4)、反射中Class对象的newInstance的使用