单例模式
Posted skiler
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式相关的知识,希望对你有一定的参考价值。
内容:保证一个类只有一个实例,并提供一个访问它的 全局访问点。
角色:单例(Singleton)
使用场景:当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时
优点:
- 对唯一实例的受控访问
- 单例相当于全局变量,但防止了命名空间被污染
与单例模式功能相似的概念:全局变量、静态变量(方法)
单例的实现方法:
#!/usr/bin/env python # -*- coding: utf8 -*- # __Author: "Skiler Hao" # date: 2017/6/2 18:46 class Singleton(object): def __new__(cls, *args, **kwargs): if not hasattr(cls,"_instance"): cls._instance = super().__new__(cls) return cls._instance class MyClass(Singleton): pass class1 = MyClass() class2 = MyClass() print(id(class1)) print(id(class2))
以上是关于单例模式的主要内容,如果未能解决你的问题,请参考以下文章