1.使用装饰器
装饰器维护一个字典对象instances,缓存了所有单例类,只要单例不存在则创建,已经存在直接返回该实例对象。
|
|
2.使用基类
new是真正创建实例对象的方法,所以重写基类的new方法,以此来保证创建对象的时候只生成一个实例
|
|
3.使用元类
元类(参考:深刻理解Python中的元类)是用于创建类对象的类,类对象创建实例对象时需要一定会调用call方法,因此在调用call时候保证始终只创建一个实例即可,type是python中的一个元类。
|
|
装饰器维护一个字典对象instances,缓存了所有单例类,只要单例不存在则创建,已经存在直接返回该实例对象。
|
|
new是真正创建实例对象的方法,所以重写基类的new方法,以此来保证创建对象的时候只生成一个实例
|
|
元类(参考:深刻理解Python中的元类)是用于创建类对象的类,类对象创建实例对象时需要一定会调用call方法,因此在调用call时候保证始终只创建一个实例即可,type是python中的一个元类。
|
|