zoukankan      html  css  js  c++  java
  • 单例模式

    内容:保证一个类只有一个实例,并提供一个访问它的 全局访问点。

    角色:单例(Singleton)

    使用场景:当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时

    优点:

    • 对唯一实例的受控访问
    • 单例相当于全局变量,但防止了命名空间被污染

    与单例模式功能相似的概念:全局变量、静态变量(方法)

    单例的实现方法:

    #!/usr/bin/env python
    # -*- coding: utf8 -*-
    # __Author: "Skiler Hao"
    # date: 2017/6/2 18:46
    
    
    class Singleton(object):
        def __new__(cls, *args, **kwargs):
            if not hasattr(cls,"_instance"):
                cls._instance = super().__new__(cls)
            return cls._instance
    
    
    class MyClass(Singleton):
        pass
    
    
    class1 = MyClass()
    class2 = MyClass()
    
    print(id(class1))
    print(id(class2))
    __new__方法实现单例
  • 相关阅读:
    highcharts
    iCheck
    MdiContainer
    wms-ssv数据字典
    hibernate 返回自定义对象
    XmlSerialize
    Db
    python groupby
    pom resource配置
    FastReport打印table
  • 原文地址:https://www.cnblogs.com/skiler/p/6934827.html
Copyright © 2011-2022 走看看