Java设计模式,工厂模式
    Monday, July 17, 2017
    8:25 AM
    一张图搞定Java设计模式,工厂模式
    一张图学Java 2017-06-21 15:30
    小编今天分享的内容是Java设计模式之工厂模式。
    收藏之前,务必点个赞,这对小编能否在头条继续给大家分享Java的知识很重要,谢谢!文末有投票,你想了解Java的哪一部分内容,请反馈给我。
    一张图搞定Java设计模式,工厂模式
    工厂模式简介
    实例化对象,用工厂方法代替new操作。
    实现类、创建对象统一管理和控制。从而实现了创建者和调用者的分离。
    详细类分类:

    • 简单工厂模式:用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已有代码)
    • 工厂方法模式:用来生产同一等级结构中的固定产品。(支持增加任意产品)
    • 抽象工厂模式:用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

    应用场景:

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

    简单工厂模式

    • 也叫做静态工厂模式,就是工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。
    • 对于增加新产品无能为力!不修改代码的话,是无法扩展的。

    一张图搞定Java设计模式,工厂模式
    一张图搞定Java设计模式,工厂模式
    一张图搞定Java设计模式,工厂模式
    一张图搞定Java设计模式,工厂模式
    工厂方法模式(factorymethod)

    • 为了避免简单工厂模式的缺点,不完全满足OCP。
    • 工厂方法模式和简单工厂模式最大的不同在于,简单工厂模式只有一个(对于一个项目或者一个独立模块而言)工厂类,而工厂方法模式有一组实现了相同接口的工厂类。

    一张图搞定Java设计模式,工厂模式
    一张图搞定Java设计模式,工厂模式
    一张图搞定Java设计模式,工厂模式
    一张图搞定Java设计模式,工厂模式
    简单工厂和工厂方法模式比较
    一张图搞定Java设计模式,工厂模式
    根据设计理论建议:工厂方法模式。但实际上,我们一般都用简单工厂模式。
    想了解Java哪方面呢? (单选)
    Java基础和高级特性
    Javaweb开发
    Java的5个框架
    最新的Java面试笔试题

    收藏
    举报
    已使用 Microsoft OneNote 2016 创建。