优草派  >   Python

Python怎么实现单例模式?这几个方法都简单好用

罗西汉            来源:优草派

设计模式是学习python软件开发过程中必不可少的一个知识,它不是具体的某个数据类型或者是语法,而是一种python开发时的思想,能够帮助开发者开发出简洁、实用的程序。下文将介绍单例模式的含义和使用方法,往下看看吧。

Python怎么实现单例模式?这几个方法都简单好用

一、单例模式是什么

正如前沿琐事,单例模式是软件设计过程之中用来创建类型的一种常用模式,它也是最简单的设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例,也就是说单例模式实例化出来的类对象有且只有一个,它在某些特殊的单独类上经常使用。

二、单例模式用法

在python之中创建一个单例模式类的话需要在要实现的类中使用__new__魔方方法,这样实例化之后的类对象就是单例对象了,实现方法有下面几个。

(1)以魔方方法new声明一个函数后将类的实例绑定到变量_instance之中,并返回实例化之后的变量_instance,示例如下:

class Singleton(object):
    def __new__(cls, *args, **kw):
        if not hasattr(cls, '_instance'):
            orig = super(Singleton, cls)
            cls._instance = orig.__new__(cls, *args, **kw)
        return cls._instance

(2)单例的本质其实就是所有的对象都有相同的属性和方法可以调用,那么在类中将所有的属性全部使用__dict__方法执行到一个字典之中,然后所有的对象都去使用这个字典即可,示例如下:

class Borg(object):
    _state = {}
    def __new__(cls, *args, **kw):
        ob = super(Borg, cls).__new__(cls, *args, **kw)
        ob.__dict__ = cls._state
        return ob

以上就是关于python单例模式的具体含义以及python两种不同单例模式实现的方法示例,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行