सिंगलटन पैटर्न रचनात्मक प्रकार के पैटर्न से संबंधित है
सिंगलटन डिज़ाइन पैटर्न का उपयोग तब किया जाता है जब हमें यह सुनिश्चित करने की आवश्यकता होती है कि किसी विशेष वर्ग की केवल एक वस्तु तत्काल है। बनाया गया वह एकल उदाहरण पूरे एप्लिकेशन में क्रियाओं के समन्वय के लिए ज़िम्मेदार है।
कार्यान्वयन दिशानिर्देशों के हिस्से के रूप में हमें यह सुनिश्चित करने की ज़रूरत है कि कक्षा के सभी रचनाकारों को निजी घोषित करके कक्षा का केवल एक उदाहरण मौजूद है। साथ ही, सिंगलटन एक्सेस को नियंत्रित करने के लिए हमें एक ऐसी स्थिर संपत्ति प्रदान करने की आवश्यकता है जो ऑब्जेक्ट का एकल उदाहरण लौटाए।
उदाहरण
सील यह सुनिश्चित करता है कि वर्ग विरासत में मिला है और वस्तु तात्कालिकता व्युत्पन्न वर्ग में प्रतिबंधित है
निजी संपत्ति शून्य के साथ आरंभ की गई
सुनिश्चित करता है कि वस्तु का केवल एक उदाहरण बनाया गया है
शून्य स्थिति के आधार पर
निजी कंस्ट्रक्टर यह सुनिश्चित करता है कि ऑब्जेक्ट को क्लास के अलावा अन्य इंस्टेंट नहीं किया गया है
सार्वजनिक विधि जिसे सिंगलटन इंस्टेंस के माध्यम से लागू किया जा सकता है
public sealed class Singleton { private static int counter = 0; private static Singleton instance = null; public static Singleton GetInstance { get { if (instance == null) instance = new Singleton(); return instance; } } private Singleton() { counter++; Console.WriteLine("Counter Value " + counter.ToString()); } public void PrintDetails(string message) { Console.WriteLine(message); } } class Program { static void Main() { Singleton fromFacebook = Singleton.GetInstance; fromFacebook.PrintDetails("From Facebook"); Singleton fromTwitter = Singleton.GetInstance; fromTwitter.PrintDetails("From Twitter"); Console.ReadLine(); } }
आउटपुट
Counter Value 1 From Facebook From Twitter