【语法】单例模式
Python中的单例模式的几种实现方式的及优化 - 听风。 - 博客园 (cnblogs.com)
【理解】
【使用场景】目的是保障一个类只会创建一个实例对象,实际使用的时候配置管理类、日志记录类中有使用到。
【单例模式实现方式】
- python 模块,缺点实例对象的参数是固定的不可变更
- 装饰器,缺点:
- 使用类
- 基于__new__实现(推荐使用,方便)
- 底层逻辑:重写类的
__new__方法来控制实例的创建。 当创建实例对象时,会调用__new__ 来进行创建,在__new__ 中判断类对象中是否有“_instance” 属性,如果存在的直接返回其属性值;如果不存在则创建新对象并给“_instance” 赋值 - 多线程场景,注意使用线程锁,保证操作原子化
- 底层逻辑:重写类的
浙公网安备 33010602011771号