一张图搞定Java设计模式——工厂模式! 就问你要不要学!

小编今天分享的内容是Java设计模式之工厂模式。

收藏之前,务必点个赞,这对小编能否在头条继续给大家分享Java的知识很重要,谢谢!文末有投票,你想了解Java的哪一部分内容,请反馈给我。

一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第1张图片

获取学习资源,更多源码,视频,知识点讲解!欢迎加入Java学习交流群616959444,我们一起学Java!

工厂模式简介

实例化对象,用工厂方法代替new操作。

实现类、创建对象统一管理和控制。从而实现了创建者和调用者的分离。

详细类分类:

简单工厂模式:用来生产同一等级结构中的任意产品。(对于增加新的产品,需要修改已有代码)

工厂方法模式:用来生产同一等级结构中的固定产品。(支持增加任意产品)

抽象工厂模式:用来生产不同产品族的全部产品。(对于增加新的产品,无能为力;支持增加产品族)

应用场景:

- JDK 中Calendar 的getInstance方法。

- JDBC中Connection对象的获取。

- Hibernate中SessionFactory创建Session。

- Spring 中IOC容器创建管理bean对象。

- XML解析时的DocumentBuilderFactory创建解析器对象。

- 反射中Class对象的newInstance()。

简单工厂模式

- 也叫做静态工厂模式,就是工厂类一般是使用静态方法,通过接收的参数的不同来返回不同的对象实例。

- 对于增加新产品无能为力!不修改代码的话,是无法扩展的。

一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第2张图片
一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第3张图片
一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第4张图片

获取学习资源,更多源码,视频,知识点讲解!欢迎加入Java学习交流群616959444,我们一起学Java!

一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第5张图片

工厂方法模式(factorymethod)

- 为了避免简单工厂模式的缺点,不完全满足OCP。

- 工厂方法模式和简单工厂模式最大的不同在于,简单工厂模式只有一个(对于一个项目或者一个独立模块而言)工厂类,而工厂方法模式有一组实现了相同接口的工厂类。

一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第6张图片
一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第7张图片
一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第8张图片
一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第9张图片

获取学习资源,更多源码,视频,知识点讲解!欢迎加入Java学习交流群616959444,我们一起学Java!

简单工厂和工厂方法模式比较

一张图搞定Java设计模式——工厂模式! 就问你要不要学!_第10张图片

根据设计理论建议:工厂方法模式。但实际上,我们一般都用简单工厂模式。

你可能感兴趣的:(一张图搞定Java设计模式——工厂模式! 就问你要不要学!)