小编今天分享的内容是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

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

  1. java数据类型划分_一张图搞定java数据类型的划分

    基本数据类型 byte.short.int.long.float.double.char.boolean Java基本数据类型的大小.范围.默认值 No. 数据类型 大小/位 可表示的数据范围 默认值 ...

  2. 一张图搞清楚Java异常机制

    转载自 一张图搞清楚Java异常机制 下面是Java异常类的组织结构,红色区域的异常类表示是程序需要显示捕捉或者抛出的. Throwable Throwable是Java异常的顶级类,所有的异常都继承 ...

  3. android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定

    原标题:自测黄斑病变 | 一张图搞定 关注 很多人提到黄斑都唯恐避之不及,但你知道吗?人体也有一个重要的"黄斑"部位是必须保护的那就是眼底黄斑区,它跟我们的视觉是密切相关的. 如果 ...

  4. 【一张图搞定关机程序】让你的代码有趣起来!送兄弟送闺蜜,快乐原来如此简单!(赋全过程和结果,超详细解说)

    从这里开始让你的代码有趣起来 事情是这样的 关机程序 实现关机指令 代码实现 如何把程序送出去 故事后续 快乐传递 事情是这样的 你也许不会想到,简单的几行的代码居然可以带来如此多的快乐,那么事情究竟 ...

  5. Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!)

    Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!) 目录 利用学生计算器计算一大堆的平均数和方差教程 利用学生计算器计算一大堆的平均数和方差教程 我们的学生计算器其实有很多功 ...

  6. Java设计模式-工厂模式(3)抽象工厂模式

    在Java设计模式-工厂模式(2)工厂方法模式 我们知道了工厂方法模式解决了简单工厂模式中的缺陷,做到了满足开闭原则,但是时代是进步的,进而又产生新的问题,工厂难道只能生产一种东西吗.我们所见到的工厂 ...

  7. Java设计模式-工厂模式(1)简单工厂模式

    Java设计模式-工厂模式(1)简单工厂模式 一.前言 1)例子 2)类图关系 3)代码实现 二.简单工厂模式 2.1.概述: 2.2.类图关系: 2.3.代码修改: 2.4.优缺点 2.5.扩展-简 ...

  8. java设计模式工厂模式_Java中的桥梁设计模式

    java设计模式工厂模式 Today we will look into Bridge Design Pattern in java. When we have interface hierarchi ...

  9. Java设计模式-工厂模式(2)工厂方法模式

    在Java设计模式-工厂模式(1)简单工厂模式 中我们介绍了简单工厂模式,提到了简单工厂模式违背了开闭原则,而"工厂方法模式"是对简单工厂模式的进一步抽象化,其好处是可以使系统在不 ...

  10. java设计模式工厂模式_Java中的工厂设计模式

    java设计模式工厂模式 Welcome to the Factory Design Pattern in Java tutorial. Factory Pattern is one of the C ...

最新文章

  1. java 初始化系统参数_系统中参数的初始化 参数在系统中配置
  2. 立足高校矢志创新,鲲鹏计算生态长沙在行动
  3. 「SAP技术」SAP SD微观研究之根据销售订单查询到该订单发货的批次
  4. 32查运行内存的map文件_linux内存管理
  5. Python基础-三次用户验证登录购买商品程序
  6. linux实现内存共享,Linux共享内存实现
  7. 手持设备点击响应速度,鼠标事件与touch事件的那些事
  8. 标准布局类(11中布局类)
  9. android图片混淆还原,图片混淆还原1.2版本
  10. 计算机系统的软件配置要求高吗,ERP软件对电脑配置有什么要求?
  11. 简单的木马编写之服务端篇
  12. python之whl文件解释与安装
  13. amd用不了android studio,解决AMD无法使用Android studio问题
  14. 恋与抽卡模拟器网页_《公主连结》抽卡模拟器网站是什么 抽卡模拟器地址介绍...
  15. slotformatcombinations_用于确定无线通信系统中的时隙配置的方法和设备与流程
  16. 香蕉派 Banana pi BPI-R2 开源智能路由器 MTK 7623N 方案设计
  17. html输入名字自动跳出的信息,1、在excel输入名字自动跳出相应的部门或是工号...
  18. 完全二叉树 和 满二叉树的区别
  19. 青少年蓝桥杯python组(STEMA中级组)
  20. mybatis 核心思想

热门文章

  1. java文件读写 教程_Java对文件的读写操作(图文详解)
  2. 【转】数组指针指针数组
  3. MYSQL语句:创建、授权、查询、修改、统计分析等 一 用户的创建、权限设置、删除等...
  4. 某公司ASP.NET应聘上机试题
  5. python中字典dict的方法fromkeys
  6. 手摸手带你入门ionic3(六):界面跳转
  7. “读心术”再升级,数字识别准确率可达90%
  8. 一步步完成FastDFS + Spring MVC上传下载整合示例
  9. Java 输入/输出 I/O流 RandomAccessFile
  10. Super超图,GIS软件