玩转工厂模式

devtools/2025/2/12 9:34:32/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 什么是工厂模式?
  • 工厂方法模式适合应用场景
  • 实现方式
  • 工厂方法模式优缺点


什么是工厂模式?

工厂方法模式是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。

---

如果我们的物流服务开始只有路上服务,但是后来又想发展一条海上物流,如果代码其余部分与现有类已经存在耦合关系,那么向程序中添加新类就不好办了。

所以就引出来了我们的工厂方法,工厂方法模式建议使用特殊的工厂方法代替对于对象构造函数的直接调用(即使用new运算符)。对象仍将通过new运算符创建,只是该运算符改在工厂方法中调用罢了。工厂方法返回的对象通常被称作“产品”
在这里插入图片描述
我们能在子类中修改工厂方法,仅当这些产品具有共同的基类或者接口时,子类才能返回不同类型的产品,同时基类中的工厂方法还应将其返回类型声明为这一共有接口。


http://www.ppmy.cn/devtools/158169.html

相关文章

Visual Studio 使用 “Ctrl + /”键设置注释和取消注释

问题:在默认的Visual Studio中,选择单行代码后,按下Ctrl /键会将代码注释掉,但再次按下Ctrl /键时,会进行双重注释,这不是我们想要的。 实现效果:当按下Ctrl /键会将代码注释掉,…

嵌入式系统开发中的图形后台(graphical backend)是什么意思?

图形后台的概述 “图形后台”是指在计算机系统中负责管理和渲染图形界面(GUI)的程序或系统。 在嵌入式设备上,图形系统的选择通常包括以下几种主要类型: X11(X Window System): 这是一个传统的…

Goland 内存逃逸问题

内存逃逸是什么? 在go语言中,内存分配存在两个方式:堆分配;栈分配。 栈分配:是在函数调用时为局部变量分配内存,当函数返回时,这些内存会自动释放。 堆分配:通过 new 或者 make 函…

计算机毕业设计Spark+大模型知网文献论文推荐系统 知识图谱 知网爬虫 知网数据分析 知网大数据 知网可视化 预测系统 大数据毕业设计 机器学习

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…

Springboot 中使用如何Sentinel

在 Spring Boot 中使用 Sentinel 非常方便,Spring Cloud Alibaba 提供了 spring-cloud-starter-alibaba-sentinel 组件,可以快速将 Sentinel 集成到你的 Spring Boot 应用中,并利用其强大的流量控制和容错能力。 下面是一个详细的步骤指南 …

webpack配置之---output.chunkLoadTimeout

output.chunkLoadTimeout output.chunkLoadTimeout 是 Webpack 配置中的一个选项,用于设置在加载异步 chunk(代码块)时,超时等待的时间(以毫秒为单位)。如果在指定的时间内无法加载 chunk,Webp…

Java网络编程学习(一)

网络相关概念 网络体系结构 OSI体系结构(七层) OSI(Open Systems Interconnection,开放系统互联)体系结构将整个计算机网络分为七层,从上到下依次为:应用层、表示层、会话层、传输层、网络层…

windows日志查看与清理

启动Windows实验台,点击:开始 - 控制面板 - 管理工具 - 事件查看器。 应用程序日志、安全日志、系统日志、DNS日志默认位置:%sys temroot%\system32\config, 安全日志文件:%systemroot%\system32\config\SecEvent.EVT&…