什么是单例模式?

singleton 模式是一种创建型设计模式,确保一个类在整个程序运行期间只有一个实例,并提供一个全局访问点。其核心作用是:

  • 💡 控制资源访问(如数据库连接、配置管理)
  • ⚠️ 避免重复创建对象
  • 📌 保证状态一致性

单例模式的实现方式

1. 饿汉模式(Eager Singleton)

class Singleton:
    _instance = None

    def __new__(cls):
        if cls._instance is None:
            cls._instance = super().__new__(cls)
        return cls._instance
Singleton_Pattern

2. 懒汉模式(Lazy Singleton)

class Singleton:
    def __init__(self):
        if not hasattr(self, 'initialized'):
            self.initialized = True
            # 初始化逻辑

    def get_instance(self):
        return self
Singleton_Implementation

单例模式的应用场景

  • 📌 系统日志记录器
  • 📌 配置管理器
  • 📌 应用上下文持有者
  • 📌 数据库连接池

⚠️ 注意:过度使用单例可能引发测试困难和全局状态耦合,建议谨慎使用!

扩展阅读

想了解更多设计模式?可以查看我们的观察者模式教程 📚