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

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

 

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

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

工厂模式简介

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

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

详细类分类:

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

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

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

应用场景:

- JDK 中Calendar 的getInstance方法。

- JDBC中Connection对象的获取。

- Hibernate中SessionFactory创建Session。

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

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

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


简单工厂模式

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

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

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


工厂方法模式(factorymethod)

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

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

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


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

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

转载于:https://www.cnblogs.com/Autumn-R/p/7085751.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值