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

python---设计模式(单例模式和工厂模式)

单例模式

定义:保证一个类只有一个实例,并提供一个访问它的全局访问点。节省内存,节省创建对象的开销。

非单例模式 :

class StrTools:
    pass

s1 = StrTools()
s2 = StrTools()
print(s1)
print(s2)

单例模式 :

# tr_tools.py
class StrTools:
    pass

str_tool = StrTools()
# 单例模式.py
from str_tools import str_tool
s1 = str_tool
s2 = str_tool
print(s1)
print(s2)

工厂模式 

定义:将对象的创建由使用原声类本身创建转换为由特定的工厂方法来创建,大量创建一个类的实例--易于维护,当发生修改,修改工厂的创建方法即可
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()
       else:
           return Teacher()


pf = PersonFactory()
worker = pf.get_person("w")
stu = pf.get_person("s")
teacher = pf.get_person("t")

相关文章:

  • 【JAVA学习笔记】42 - 内部类(难点,重点)
  • YOLO目标检测——行人数据集【含对应voc、coco和yolo三种格式标签+划分脚本】
  • (ubuntu)安装nginx
  • 【JAVA】:万字长篇带你了解JAVA并发编程【一】
  • Linux网络编程-极简HTTPUDP服务器
  • MySQL数据库(四)
  • 通俗介绍:什么是 Redis ?
  • crossover23.6闪亮登场发布啦,2023最新功能解析
  • jenkins实践篇(1)——基于分支的自动发布
  • UI 自动化测试框架:PO模式+数据驱动
  • Selenium定向爬取海量精美图片及搜索引擎杂谈
  • 【Solidity】智能合约案例——③版权保护合约
  • 【API篇】七、Flink窗口
  • C语言之数组
  • 数据结构和算法概述
  • TOGAF(企业架构)
  • Kotlin笔记(七):协程
  • 医院陪诊系统源码 医院护工陪护系统源码
  • LabVIEW基于机器视觉的钢轨表面缺陷检测系统
  • vue3 官方地址
  • 俄罗斯纪念卫国战争胜利80周年阅兵式首次彩排在莫斯科举行
  • 比熬夜更伤肝的事,你可能每天都在做
  • 对谈|李钧鹏、周忆粟:安德鲁·阿伯特过程社会学的魅力
  • 气温“过山车”现象未来或更频繁且更剧烈
  • 高璞任中国一汽党委常委、副总经理
  • 葛兰西:“生活就是抵抗”