zoukankan      html  css  js  c++  java
  • 【python小随笔】单例模式设计(易懂版)

    1:单例模式原理

    大道理:希望在系统中某个对象只能存在一个,单例模式是最好的解决方案,单例模式是一种常见的软件设置模式,在它的核心结构中只包含一个被称为单例类的特殊类,通过单例模式可以保证系统中的一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源

    单例模式的要点有三类

    • 某个类只能有一个实例
    • 它必须创建这个实例
    • 它必须自行向整个系统提供这个实例

    但是从具体角度实现来说的话,又可以分为三点

    • 单例模式的类只能提供私有的构造函数
    • 类定义中含有一个该类的静态私有对象
    • 该类提供了一个静态的共有的函数用于创建或获取它本身的静态私有对象
    class test(object):
        instance = None               #用于判断是已经被示例过
    
        def __new__(cls, *args, **kwargs):
            if cls.instance == None:#如果没被实例化过,就继承同一个分配空间
    
               cls.instance = super().__new__(cls)#)继承跟自己一样的,内存地址也一样的类
    
               return cls.instance#返回它本身
    
    
        def __init__(self,name):
                self.name = name
                print("My Name is {}".format(self.name))
    
    T1 = test("xixi")
    print(T1)
    T2 = test("haha")
    print(T2)
    
    输出结果: My Name
    is xixi <__main__.test object at 0x000001A7499CD278> None
  • 相关阅读:
    vue 多层级嵌套组件传值 provide 和 inject
    vue 消息订阅与发布 实现任意组件间的通信
    成功
    疯掉的拼接
    解析发送
    一条条发
    com发送
    字符串拼接
    COM
    笨方法的combox级联
  • 原文地址:https://www.cnblogs.com/wanghong1994/p/11649058.html
Copyright © 2011-2022 走看看