单例模式(python实现)
2021-10-09 01:59:30 5 举报
单例模式(python实现)
作者其他创作
大纲/内容
文本
类变量+类方法实现:用类变量保证了对象的唯一性,而且在__init__()中抛出异常,来达到禁用直接创建对象。这里在init中抛异常相比java中的私有化构造方法相比更加容易让别人错误地使用,不够优雅,所以不推荐这种方法。双检索保证线程安全。
__new__实现:双检索保证线程安全。
使用类装饰器:在装饰器的外层定义一个字典用于存储单例对象,创建对象之前先判断字典中是否已经存在该类的单例对象,如果不存在则创建对象并保存在单例字典中,最后返回单例对象。
不同语言的单例模式的具体实现不尽相同,每种语言有自己的特点,可以根据语言自身的特点进行实现,但其目的都只有一个,就是保证对象的唯一性。精髓就是用变量保存创建的实例,判断变量是否为空,或者属性是否存在,存在则直接返回。
0 条评论
下一页