当前位置: 首页 > article >正文

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

目录

一、什么是工厂模式

二、工厂模式的优点

三、代码示例

总结

1.什么是工厂模式

2.好处


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

                                                                        —— 24.11.11

一、什么是工厂模式

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

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


二、工厂模式的优点

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

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

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

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


三、代码示例

# 演示设计模式之工厂镇式

class Person:
    pass

class Worker(Person):
    pass

class Student(Person):
    pass

class 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.kler.cn/a/392184.html

相关文章:

  • 爱普生SG-8200CJ可编程晶振在通信设备中的应用
  • 继承和多态(上)
  • 更改Ubuntu22.04锁屏壁纸
  • Fastapi使用MongoDB作为数据库
  • JSON-RPC-CXX深度解析:C++中的远程调用利器
  • JS 实现SSE通讯和了解SSE通讯
  • 计算机组成原理——提高存储器访问速度
  • 发布一个npm组件库包
  • Java[面试题]-真实面试2.0
  • KALI-sqlmap更新
  • JVM 参数配置入门与优化案例
  • ubantu git
  • 回溯算法(组合问题)-- 游戏分组
  • btstack协议栈实战篇--HID Keyboard Classic
  • 预处理、编译、汇编和链接
  • 力扣 二叉树的直径-543
  • 详解Gemini API的使用:在国内实现大模型对话与目标检测教程
  • SpringBoot 实战:文件上传之秒传、断点续传、分片上传
  • 比速M3比速T3比速T5北汽制造007 勇士 锐铃维修手册电路图资料更新线路接线
  • 高效编程训练:Spring Boot系统设计与实践
  • 试用免费界面美化程序SeelenUI,让你的Windows变得更美
  • Spring 解析xml中的 BeanDefination 大概过程
  • 每日一练:二分查找-x的平方根
  • Unity3D学习FPS游戏(11)敌人AI巡逻(NavMesh)
  • C++多态及其在设计模式中的作用举例
  • 【webrtc】 RTP 中的 MID(Media Stream Identifier)