设计模式(Java)-011-工厂模式(Factory)概述

设计模式(Java)-011-工厂模式(Factory)概述_第1张图片
微信公众号:JavaWeb架构师

解释

  • 实现了创建者和调用者的分离。

面向对象设计的基本原则

  • OCP(开闭原则, Open-Closed Principle):一个软件的实体应该对扩展开放,对修改关闭。
    如:增加功能,应该通过增加新的类实现,不应该去修改原有的代码。
  • DIP(依赖倒转原则,Dependence Inversion Principle):要针对接口编程,不要针对实现编程。
  • LoD(迪米特法则,Law of Demeter):只与你朋友通信,避免和陌生人通信。

核心本质

  • 实例化对象时,使用工厂方法代替new关键字。
  • 将选择实现类、创建对象统一管理和控制。从而将调用者和我们的实现类解耦。

应用场景

  • JDK中的Calender的getInstance方法。
  • JDBC中Connection的获取。
  • Hibernate中SessionFactory创建Session。
  • Spring中IOC容器创建管理bean对象。
  • XML解析中DocumentBuilderFactory创建解析器对象。
  • 反射中Class对象的newInstance方法。

三种工厂模式

  • 简单工厂模式
    1.用来生产同一等级结构中的任意产品(对于新增加的产品,需要修改已有代码)。
    2.虽然在某种程度上不符合设计原则,但是实际使用最多。
  • 工厂方法模式
    1.用来生产同一等级结构中的固定产品(支持增加任意产品)。
    2.不修改已有类的条件下,通过新增加工厂类来实现扩展。
  • 抽象工厂模式
    1.用来生产不同产品族的全部产品。
    2.不可以增加产品,可以增加产品族。

其它

源码下载:

关注下方微信公众号,
回复:
DM.code
  • 欢迎加入交流群:451826376

  • 更多信息:www.itcourse.top

完整教程PDF版本下载

你可能感兴趣的:(设计模式(Java)-011-工厂模式(Factory)概述)