Singleton Pattern – Design Patterns (ep 6)
What You Will Learn
- सिंगलटन पैटर्न क्या है और इसका उपयोग कब किया जाता है
- सिंगलटन पैटर्न के फायदे और नुकसान क्या हैं
- सिंगलटन पैटर्न को कैसे लागू किया जा सकता है
Key Concepts
सिंगलटन पैटर्न एक डिज़ाइन पैटर्न है जो एक क्लास के लिए एक ही इंस्टेंस बनाने और उसे ग्लोबल एक्सेस प्रदान करने के लिए उपयोग किया जाता है। यह पैटर्न एक क्लास को प्राइवेट कंस्ट्रक्टर के साथ बनाने और एक स्टैटिक मेथड के माध्यम से इंस्टेंस तक पहुंचने की अनुमति देता है। सिंगलटन पैटर्न का उपयोग अक्सर जब हमें एक ही इंस्टेंस की आवश्यकता होती है, जैसे कि एक लॉगिंग क्लास या एक डेटाबेस कनेक्शन क्लास। हालांकि, सिंगलटन पैटर्न का उपयोग करने से पहले इसके नुकसानों को भी समझना चाहिए, जैसे कि ग्लोबल वेरिएबल्स का उपयोग और टेस्टिंग में समस्याएं।
Code Examples
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
यह कोड सिंगलटन पैटर्न का एक उदाहरण है, जिसमें एक प्राइवेट कंस्ट्रक्टर और एक स्टैटिक मेथड का उपयोग किया जाता है ताकि क्लास का एक ही इंस्टेंस बनाया जा सके।
Lesson Summary
सिंगलटन पैटर्न एक डिज़ाइन पैटर्न है जो एक क्लास के लिए एक ही इंस्टेंस बनाने और उसे ग्लोबल एक्सेस प्रदान करने के लिए उपयोग किया जाता है। यह पैटर्न एक क्लास को प्राइवेट कंस्ट्रक्टर के साथ बनाने और एक स्टैटिक मेथड के माध्यम से इंस्टेंस तक पहुंचने की अनुमति देता है। सिंगलटन पैटर्न का उपयोग अक्सर जब हमें एक ही इंस्टेंस की आवश्यकता होती है, जैसे कि एक लॉगिंग क्लास या एक डेटाबेस कनेक्शन क्लास। हालांकि, सिंगलटन पैटर्न का उपयोग करने से पहले इसके नुकसानों को भी समझना चाहिए, जैसे कि ग्लोबल वेरिएबल्स का उपयोग और टेस्टिंग में समस्याएं। सिंगलटन पैटर्न का उपयोग करने के लिए, हमें एक क्लास बनानी होगी जिसमें एक प्राइवेट कंस्ट्रक्टर और एक स्टैटिक मेथड होगा, जो इंस्टेंस तक पहुंचने की अनुमति देगा।
Practice Exercise
एक सिंगलटन पैटर्न का उपयोग करके एक लॉगिंग क्लास बनाएं, जो एक ही इंस्टेंस को बनाने और उसे ग्लोबल एक्सेस प्रदान करने के लिए उपयोग किया जा सकता है।
What Is Next
अगले लेसन में, हम फैक्ट्री पैटर्न के बारे में सीखेंगे, जो एक डिज़ाइन पैटर्न है जो ऑब्जेक्ट्स को बनाने के लिए उपयोग किया जाता है।