Предоставить глобальную точку доступа к экземпляру объекта - PullRequest
1 голос
/ 28 июля 2010

Представьте себе систему (Python), в которой разные части постоянно взаимодействуют с одним экземпляром данного объекта. Каков наилучший способ предоставить глобальную точку доступа к этому экземпляру?

Пока что я могу думать только о создании экземпляра (Singleton) в __init__.py и import модуле по мере необходимости:

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

TheThing = Thing()

__all__ = ['TheThing']  

Есть ли лучший способ предоставить глобальную точку доступа для TheThing?

Спасибо

J.

1 Ответ

5 голосов
/ 28 июля 2010

Не используйте singletons в питоне. Модули Python являются отличными синглетонами (они инициализируются только один раз и доступны везде), и вы можете иметь глобальную переменную в одном, если вам это нужно.

Вот объяснение: Существует ли простой, элегантный способ определения синглетонов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...