深入理解设计模式中的工厂模式(Factory Pattern)

server/2025/3/6 20:44:10/

各类资料学习下载合集           ​​https://pan.quark.cn/s/8c91ccb5a474​​

工厂模式是创建对象的一种设计模式,属于创建型设计模式。它提供了一种方法来创建对象,而无需在代码中直接指定对象的具体类。工厂模式通过将对象的创建过程封装起来,使得代码更加灵活、可维护。

本文将详细介绍工厂模式的概念、实现方式,以及在 Python 中的最佳实践,配合详细的代码示例和运行结果。

一、什么是工厂模式?

工厂模式主要分为三种类型:

  1. 简单工厂模式(Simple Factory Pattern)
  2. 工厂方法模式(Factory Method Pattern)
  3. 抽象工厂模式(Abstract Factory Pattern)

1. 简单工厂模式

简单工厂模式通过一个工厂类来创建对象,客户端只需提供所需对象的类型,而不需要关心对象的创建细节。

2. 工厂方法模式

工厂方法模式允许子类决定实例化哪一个类。它将对象的创建过程推迟到子类中进行,从而增强了系统的可扩展性。

3. 抽象工厂模式

抽象工厂模式提供一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。它适用于需要创建多个对象的情况。


二、实现工厂模式的代码示例

示例 1:简单工厂模式


http://www.ppmy.cn/server/172963.html

相关文章

windows 上删除 node_modules

在 Windows 11 上,你可以通过命令行来删除 node_modules 文件夹并清除 npm 缓存。以下是具体步骤: 删除 node_modules 打开命令提示符(Command Prompt)或终端(PowerShell)。 导航到项目目录。你可以使用 …

芯科科技通过全新并发多协议SoC重新定义智能家居连接

MG26系列SoC现已全面供货,为开发人员提供最高性能和人工智能/机器学习功能 致力于以安全、智能无线连接技术,建立更互联世界的全球领导厂商Silicon Labs(亦称“芯科科技”,NASDAQ:SLAB),日前宣…

Spring Boot 常用注解全解析:从核心到进阶的实践指南

目录 引言:为什么注解是Spring Boot开发者的“战略武器”? 一、核心启动注解 1.1 应用启动三剑客 二、Web开发注解 2.1 控制器层注解 三、依赖注入注解 3.1 依赖管理矩阵 四、数据访问注解 4.1 JPA核心注解 五、配置管理注解 5.1 配置绑定注解…

【javaEE】计算机是如何工作的(基础常识)

1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…

【2025.3最新版】从零开始的CSS网页开发学习笔记 1(包含CSS简介 CSS基础选择器 CSS字体属性 CSS文本属性 CSS引入方式)

文章目录 CSS简介CSS基本介绍CSS基本语法规范CSS代码风格 CSS基础选择器选择器的作用和分类标签选择器类选择器id选择器通配符选择器 CSS字体属性font-family 字体类型设置font-size 字体大小设置font-weight 字体粗细设置font-style 字体样式设置font 字体复合属性设置 CSS文本…

Checkpoint 模型与Stable Diffusion XL(SDXL)模型的区别

Checkpoint 模型与 Stable Diffusion XL(SDXL)模型 在功能、架构和应用场景上有显著区别,以下是主要差异的总结: 1. 基础架构与定位 Checkpoint 模型 是基于 Stable Diffusion 官方基础模型(如 SD 1.4/1.5)…

大语言模型(LLM)和嵌入模型的统一调用接口

ChatModelFactory、EmbeddingModelFactory 讲解代码:import os from dotenv import load_dotenv, find_dotenv_ load_dotenv(find_dotenv())from langchain_openai import ChatOpenAI, OpenAIEmbeddings, AzureChatOpenAI, AzureOpenAIEmbeddingsclass ChatModelF…

厦门大学:《DeepSeek大模型赋能高校教学和科研报告》(120页PPT,建议收藏)

《DeepSeek大模型赋能高校教学和科研》是由厦门大学大数据教学团队林子雨副教授领衔撰写的系统性报告,旨在探讨大模型技术(以国产开源模型DeepSeek为核心)在高等教育与科研领域的应用实践及未来潜力。该书结合理论解析与案例实证,…