单例模式
单例模式,是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中,应用该模式的类一个类只有一个实例。即一个类只有一个对象实例 注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。
我写的当然是python了:
元类:
这里我们其实还需要真的元类是怎么回事:http://python.jobbole.com/88795/ 这个篇文章写的是真的不错
学懂元类,你只需要知道两句话:
- 道生一,一生二,二生三,三生万物
- 我是谁?我从哪来里?我要到哪里去?
这个网站介绍的元类真的不错
第一种(也是最简单的一种):
class SingLeton(object): _instance = None def __new__(cls, *args, **kwargs): if not cls._instance: cls._instance = super(SingLeton,cls).__new__(cls, *args, **kwargs) return cls._instance
第二种,也是python中独有的的一种(先要明白python中的模块和包)
在一个py文件中,实例化一个对象,而其他文件导入这个实例对象时候 ,它就是一个单例
问题来了----为什么呢?
因为python中中,文件只导入一次,再次导入时候还是最初py文件中的实例对象