什么是单例模式?
singleton 模式是一种创建型设计模式,确保一个类在整个程序运行期间只有一个实例,并提供一个全局访问点。其核心作用是:
- 💡 控制资源访问(如数据库连接、配置管理)
- ⚠️ 避免重复创建对象
- 📌 保证状态一致性
单例模式的实现方式
1. 饿汉模式(Eager Singleton)
class Singleton:
_instance = None
def __new__(cls):
if cls._instance is None:
cls._instance = super().__new__(cls)
return cls._instance
2. 懒汉模式(Lazy Singleton)
class Singleton:
def __init__(self):
if not hasattr(self, 'initialized'):
self.initialized = True
# 初始化逻辑
def get_instance(self):
return self
单例模式的应用场景
- 📌 系统日志记录器
- 📌 配置管理器
- 📌 应用上下文持有者
- 📌 数据库连接池
⚠️ 注意:过度使用单例可能引发测试困难和全局状态耦合,建议谨慎使用!
扩展阅读
想了解更多设计模式?可以查看我们的观察者模式教程 📚