小编今天分享的内容是Java设计模式之工厂模式。设计模式
收藏以前,务必点个赞,这对小编可否在头条继续给你们分享Java的知识很重要,谢谢!文末有投票,你想了解Java的哪一部份内容,请反馈给我。学习
获取学习资源,更多源码,视频,知识点讲解!欢迎加入Java学习交流群616959444,咱们一块儿学Java!ui
工厂模式简介设计
实例化对象,用工厂方法代替new操做。3d
实现类、建立对象统一管理和控制。从而实现了建立者和调用者的分离。orm
详细类分类:视频
简单工厂模式:用来生产同一等级结构中的任意产品。(对于增长新的产品,须要修改已有代码)对象
工厂方法模式:用来生产同一等级结构中的固定产品。(支持增长任意产品)blog
抽象工厂模式:用来生产不一样产品族的所有产品。(对于增长新的产品,无能为力;支持增长产品族)接口
应用场景:
- JDK 中Calendar 的getInstance方法。
- JDBC中Connection对象的获取。
- Hibernate中SessionFactory建立Session。
- Spring 中IOC容器建立管理bean对象。
- XML解析时的DocumentBuilderFactory建立解析器对象。
- 反射中Class对象的newInstance()。
- 也叫作静态工厂模式,就是工厂类通常是使用静态方法,经过接收的参数的不一样来返回不一样的对象实例。
- 对于增长新产品无能为力!不修改代码的话,是没法扩展的。
获取学习资源,更多源码,视频,知识点讲解!欢迎加入Java学习交流群616959444,咱们一块儿学Java!
- 为了不简单工厂模式的缺点,不彻底知足OCP。
- 工厂方法模式和简单工厂模式最大的不一样在于,简单工厂模式只有一个(对于一个项目或者一个独立模块而言)工厂类,而工厂方法模式有一组实现了相同接口的工厂类。
获取学习资源,更多源码,视频,知识点讲解!欢迎加入Java学习交流群616959444,咱们一块儿学Java!
根据设计理论建议:工厂方法模式。但实际上,咱们通常都用简单工厂模式。