擅长:python、mysql、java
<p>如果它在同一个进程中,为什么不使用<a href="http://python-3-patterns-idioms-test.readthedocs.org/en/latest/Singleton.html" rel="nofollow">singleton</a>?在</p>
<pre><code>import functools
def singleton(cls):
''' Use class as singleton. '''
cls.__new_original__ = cls.__new__
@functools.wraps(cls.__new__)
def singleton_new(cls, *args, **kw):
it = cls.__dict__.get('__it__')
if it is not None:
return it
cls.__it__ = it = cls.__new_original__(cls, *args, **kw)
it.__init_original__(*args, **kw)
return it
cls.__new__ = singleton_new
cls.__init_original__ = cls.__init__
cls.__init__ = object.__init__
return cls
@singleton
class Bucket(object):
pass
</code></pre>
<p>现在只需导入Bucket并绑定一些数据</p>
^{pr2}$