Python学习从0到1 day27 Python 高阶技巧 ④ 设计模式 — 工厂模式

news/2024/11/14 4:56:53/

目录

一、什么是工厂模式

二、工厂模式的优点

三、代码示例

总结

1.什么是工厂模式

2.好处


或许总要彻彻底底地绝望一次,才能重新再活一次

                                                                        —— 24.11.11

一、什么是工厂模式

当需要大量创建一个类的实例的时候,可以使用工厂模式

即,从原生的使用类的构造去创建对象的形式,迁移到基于工厂提供的方法去创建对象的形式。


二、工厂模式的优点

使用工厂类方法去创建具体的类对象优点:

① 大批量创建对象的时候有统一的入口,易于代码维护

② 当发生修改,仅修改工厂类的创建方法即可

③ 符合现实世界的模式,即由工厂来制作产品(对象)


三、代码示例

# 演示设计模式之工厂镇式class Person:passclass Worker(Person):passclass Student(Person):passclass Teacher(Person):pass# 创建一个额外的工厂类,通过调用方法的形式去获得想要的对象
class PersonFactory:def get_person(self,p_type):if p_type == 'w':return Worker()elif p_type == 's':return Student()elif p_type == 't':return Teacher()else:print("您输入有误")pf = PersonFactory()
worker = pf.get_person('w')
Student = pf.get_person("s")
Teacher = pf.get_person("t")print(type(worker))
print(type(Student))
print(type(Teacher))


总结

1.什么是工厂模式

将对象的创建由使用原生类本身创建

转换到由特定的工厂方法来创建

2.好处

大批量创建对象的时候有统一的入口,易于代码维护

当发生修改,仅修改工厂类的创建方法即可

符合现实世界的模式,即由工厂来制作产品(对象)


http://www.ppmy.cn/news/1546382.html

相关文章

13. Node.js会话控制

九、会话控制 9.1会话控制概念 ​ 所谓会话控制就是 对会话进行控! ​ HTTP 是一种无状态的协议,它没有办法区分多次的请求是否来自于同一个客户端, 无法区分用户,而产品中又大量存在的这样的需求,所以我们需要通过 会话控制 来解决该问题常见的会话控制技术有三种: cook…

金融市场中的量化分析:正大科技如何赋能投资者决策

在当前金融市场中,量化分析技术已成为许多投资者提升决策效率的重要工具。正大科技致力于通过量化分析,帮助投资者基于数据和算法做出更为科学的市场判断。本文将探讨量化分析在金融市场中的应用,并展示正大科技如何利用量化手段优化投资策略…

底层视角看C语言

文章目录 main函数很普通main函数之前调用了什么main函数和自定义函数的对比变量名只为人而存在goto是循环的本质指针变量指针是一个特殊的数字汇编层面看指针数组和指针数组越界问题低端地址越界高端地址越界引用就是指针main函数很普通 main函数是第一个被调用的函数吗?在用…

nacos集群AP架构源码解析

1 心跳检测 核心类&#xff1a;ClientBeatCheckTask 核心方法&#xff1a;run public void run() {try {//1 集群状态下心跳处理if (!getDistroMapper().responsible(service.getName())) {return;}if (!getSwitchDomain().isHealthCheckEnabled()) {return;}List<Instance…

第十一天 线性代数基础

线性代数是数学的一个分支&#xff0c;广泛应用于计算机科学、物理学、工程学等领域。Python 提供了一些强大的库来进行线性代数计算&#xff0c;其中最著名的是 NumPy 和 SciPy。下面是一些线性代数的基础概念和如何在 Python 中使用这些库的示例。 线性代数是数学的一个分支…

05 SQL炼金术:深入探索与实战优化

文章目录 SQL炼金术&#xff1a;深入探索与实战优化一、SQL解析与执行计划1.1 获取执行计划1.2 解读执行计划 二、统计信息与执行上下文2.1 收集统计信息2.2 执行上下文 三、SQL优化工具与实战3.1 SQL Profile3.2 Hint3.3 Plan Baselines3.4 实战优化示例 SQL炼金术&#xff1a…

R和MATLAB及Python混合效应模型

R片段 使用 R 进行混合效应模型的分析是一种强有力的方法&#xff0c;尤其在研究带有嵌套或重复测量的复杂数据结构时。混合效应模型能够有效地检测和分析多层级数据中的固定效应和随机效应&#xff0c;这在研究选择性扰动效应时尤为有用。 R 中常用的软件包 lme4&#xff1…

Android 开发指南:初学者入门

Android 是全球最受欢迎的移动操作系统之一&#xff0c;为开发者提供了丰富的工具和资源来创建各种类型的应用程序。本文将为你提供一个全面的入门指南&#xff0c;帮助你从零开始学习 Android 开发。 目录 1. 了解 Android 平台[1]2. 设置开发环境[2]3. 学习基础知识[3]4. 创…