बोर्ग पैटर्न सिंगलटन पैटर्न से बेहतर क्यों है ?
मैं पूछता हूं क्योंकि मैं उन्हें अलग-अलग कुछ भी नहीं देखता हूं।
बोर्ग:
class Borg:
__shared_state = {}
# init internal state variables here
__register = {}
def __init__(self):
self.__dict__ = self.__shared_state
if not self.__register:
self._init_default_register()
सिंगलटन:
class Singleton:
def __init__(self):
# init internal state variables here
self.__register = {}
self._init_default_register()
# singleton mechanics external to class, for example this in the module
Singleton = Singleton()
जो मैं यहां प्रदर्शित करना चाहता हूं वह यह है कि सेवा वस्तु, जिसे बोर्ग या सिंगलटन के रूप में लागू किया गया है, की एक आंतरिक आंतरिक स्थिति है (यह इसके आधार पर कुछ सेवा प्रदान करता है) (मेरा मतलब है कि यह कुछ उपयोगी होना चाहिए यह केवल एक सिंगलटन / बोर्ग के लिए नहीं है) आनंद)।
और इस अवस्था को जड़ बनाना पड़ता है। यहाँ सिंग्लटन कार्यान्वयन अधिक सीधा है, क्योंकि हम इलाज करते हैं वैश्विक राज्य की स्थापना के रूप में इनिट को । मुझे यह अजीब लगता है कि बोर्ग ऑब्जेक्ट को अपनी आंतरिक स्थिति को देखने के लिए क्वेरी करना पड़ता है कि क्या उसे खुद को अपडेट करना चाहिए।
यह आपके पास अधिक आंतरिक स्थिति को बदतर बना देता है। उदाहरण के लिए, यदि ऑब्जेक्ट को अपने रजिस्टर को डिस्क पर सहेजने के लिए एप्लिकेशन के टॉडडाउन सिग्नल को सुनना पड़ता है, तो पंजीकरण केवल एक बार ही किया जाना चाहिए, और यह सिंगलटन के साथ आसान है।