2010-07-28 74 views
0

想象一下系统(Python),其中不同部分不断与给定对象的一个​​实例进行交互。为此实例提供全局访问点的最佳方式是什么?为对象的实例提供全局访问点

到目前为止,我只能认为是需要的模块构建(辛格尔顿)实例中__init__.pyimport的:

# __init__.py 
class Thing(object, Singleton): 
pass 

TheThing = Thing() 

__all__ = ['TheThing'] 

有没有更好的方式来提供全球接入点TheThing

感谢,

J.

回答

4

不要在Python中使用singletons。 Python模块是非常棒的单例(它们只被初始化一次,并且在任何地方都可用),并且如果需要它,您可以在一个全局变量中使用它。

这里是解释:Is there a simple, elegant way to define singletons?

+0

有趣的让我思考这一点。 – Escualo 2010-07-28 17:13:42