खोज…


परिचय

डिज़ाइन पैटर्न को सर्वोत्तम प्रथाओं को औपचारिक रूप दिया जाता है जो प्रोग्रामर किसी एप्लिकेशन या सिस्टम को डिज़ाइन करते समय सामान्य समस्याओं को हल करने के लिए उपयोग कर सकता है।

डिजाइन पैटर्न परीक्षण, सिद्ध विकास प्रतिमान प्रदान करके विकास प्रक्रिया को गति प्रदान कर सकते हैं।

पुन: डिजाइनिंग पैटर्न सूक्ष्म मुद्दों को रोकने में मदद करता है जो बड़ी समस्याएं पैदा कर सकते हैं, और यह कोडर्स और आर्किटेक्ट्स के लिए कोड पठनीयता में सुधार करता है जो पैटर्न से परिचित हैं।

सिंगलटन क्लास उदाहरण

जावा सिंगलटन पैटर्न

सिंगलटन पैटर्न को लागू करने के लिए, हमारे पास अलग-अलग दृष्टिकोण हैं लेकिन उनमें से सभी में सामान्य अवधारणाएं हैं।

  • अन्य वर्गों से वर्ग की तात्कालिकता को प्रतिबंधित करने के लिए निजी निर्माणकर्ता।
  • उसी वर्ग का निजी स्थिर चर जो वर्ग का एकमात्र उदाहरण है।
  • सार्वजनिक स्थैतिक विधि जो कक्षा का उदाहरण लौटाती है, यह वैश्विक पहुंच है
  • सिंगलटन वर्ग का उदाहरण प्राप्त करने के लिए बाहरी दुनिया के लिए बिंदु।
/**
 * Singleton class.
 */
public final class Singleton {

  /**
   * Private constructor so nobody can instantiate the class.
   */
  private Singleton() {}

  /**
   * Static to class instance of the class.
   */
  private static final Singleton INSTANCE = new Singleton();

  /**
   * To be called by user to obtain instance of the class.
   *
   * @return instance of the singleton.
   */
  public static Singleton getInstance() {
    return INSTANCE;
  }
}

ऑब्जर्वर पैटर्न

ऑब्जर्वर पैटर्न एक सामान्य पैटर्न है, जो व्यापक रूप से कई संदर्भों में उपयोग किया जाता है। YouTube से एक वास्तविक उदाहरण लिया जा सकता है: जब आप एक चैनल पसंद करते हैं और सभी समाचार प्राप्त करना चाहते हैं और इस चैनल से नए वीडियो देखना चाहते हैं, तो आपको उस चैनल की सदस्यता लेनी होगी। फिर, जब भी यह चैनल कोई भी समाचार प्रकाशित करेगा, आपको (और अन्य सभी ग्राहकों को) एक सूचना मिलेगी।

एक पर्यवेक्षक के दो घटक होंगे। एक ब्रॉडकास्टर (चैनल) है और दूसरा एक रिसीवर (आप या कोई अन्य ग्राहक) है। प्रसारक सभी रिसीवर इंस्टेंसेस को संभाल लेगा जो इसे सब्सक्राइब करते हैं। जब ब्रॉडकास्टर एक नई घटना को अंजाम देता है, तो यह सभी रिसीवर इंस्टेंस को इसकी घोषणा करेगा। जब रिसीवर किसी घटना को प्राप्त करता है, तो उसे उस घटना पर प्रतिक्रिया करनी होगी, उदाहरण के लिए, YouTube को चालू करके और नया वीडियो चलाकर।

प्रेक्षक पैटर्न को लागू करना

  1. प्रसारक को ऐसी विधियाँ प्रदान करनी होती हैं जो रिसीवर को इसकी सदस्यता और सदस्यता समाप्त करने की अनुमति देती हैं। जब प्रसारक किसी घटना को अंजाम देता है, तो सब्सक्राइबर्स को सूचित करना होगा कि एक घटना घटित हुई है:

    class Channel{
        private List<Subscriber> subscribers;
        public void subscribe(Subscriber sub) {
            // Add new subscriber.
        }
        public void unsubscribe(Subscriber sub) {
            // Remove subscriber.
        }
        public void newEvent() {
            // Notification event for all subscribers.
        }
    }
    
  2. रिसीवर को ऐसी विधि लागू करने की आवश्यकता है जो प्रसारक से घटना को संभालती है:

    interface Subscriber {
        void doSubscribe(Channel channel);
        void doUnsubscribe(Channel channel);
        void handleEvent();  // Process the new event.
    }
    


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow