Singleton 对象如何实现懒加载

发布时间:2025-02-05 19:05:19 作者:小樊
来源:亿速云 阅读:86

在Python中,你可以使用装饰器来实现单例对象的懒加载。这是一个简单的例子:

def lazy_init(cls):
    instances = {}
    
    def getinstance():
        if cls not in instances:
            instances[cls] = cls()
        return instances[cls]
    
    return getinstance

@lazy_init
class Singleton:
    def __init__(self):
        self.data = "Singleton instance data"

# 使用单例对象
singleton1 = Singleton()
print(singleton1.data)

# 再次使用单例对象,将不会重新创建实例
singleton2 = Singleton()
print(singleton2.data)

在这个例子中,我们定义了一个名为lazy_init的装饰器。这个装饰器用于确保一个类仅有一个实例,并在首次访问时初始化该实例。我们将这个装饰器应用于Singleton类,从而实现懒加载功能。当我们第一次访问Singleton类的实例时,它会被创建;在后续访问中,将返回已创建的实例。

推荐阅读:
  1. 通俗易懂spring之singleton和prototype
  2. 实现singleton的四种方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:如何在 Java 中使用枚举实现 Singleton

下一篇:Singleton 模式如何保证类只被加载一次

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》