"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सी# | ऑब्जर्वर पैटर्न को समझना

सी# | ऑब्जर्वर पैटर्न को समझना

2024-07-30 को प्रकाशित
ब्राउज़ करें:395

C# | Understanding the Observer Pattern

टिप्पणी
आप मेरी निजी वेबसाइट पर अन्य पोस्ट देख सकते हैं: https://hbolajraf.net

ऑब्जर्वर पैटर्न एक व्यवहारिक डिजाइन पैटर्न है जहां एक वस्तु, जिसे विषय के रूप में जाना जाता है, अपने आश्रितों की एक सूची बनाए रखती है, जिन्हें पर्यवेक्षक कहा जाता है, और उन्हें किसी भी राज्य परिवर्तन के बारे में सूचित करता है, आमतौर पर उनके तरीकों में से एक को कॉल करके। यह पैटर्न वस्तुओं के बीच ढीले युग्मन को बढ़ावा देता है, क्योंकि पर्यवेक्षक केवल विषय के बारे में जानते हैं, एक-दूसरे के बारे में नहीं। C# में, इस पैटर्न का उपयोग आमतौर पर इवेंट-संचालित प्रोग्रामिंग में किया जाता है।

कार्यान्वयन

आइए C# में एक विस्तृत उदाहरण के माध्यम से ऑब्जर्वर पैटर्न को समझें।

विषय इंटरफ़ेस

सबसे पहले, हम विषय के लिए एक इंटरफ़ेस परिभाषित करते हैं। इस इंटरफ़ेस में पंजीकरण, पंजीकरण रद्द करने और पर्यवेक्षकों को सूचित करने के तरीके शामिल होंगे।

public interface ISubject
{
    void RegisterObserver(IObserver observer);
    void UnregisterObserver(IObserver observer);
    void NotifyObservers();
}

पर्यवेक्षक इंटरफ़ेस

इसके बाद, हम पर्यवेक्षक के लिए एक इंटरफ़ेस परिभाषित करते हैं। इस इंटरफ़ेस में एक विधि शामिल होगी जिसे विषय तब कॉल करेगा जब उसे पर्यवेक्षकों को सूचित करने की आवश्यकता होगी।

public interface IObserver
{
    void Update();
}

ठोस विषय

अब, आइए एक ठोस विषय वर्ग लागू करें जो आईसब्जेक्ट इंटरफ़ेस लागू करता है।

public class ConcreteSubject : ISubject
{
    private List observers = new List();

    public void RegisterObserver(IObserver observer)
    {
        observers.Add(observer);
    }

    public void UnregisterObserver(IObserver observer)
    {
        observers.Remove(observer);
    }

    public void NotifyObservers()
    {
        foreach (var observer in observers)
        {
            observer.Update();
        }
    }
}

ठोस पर्यवेक्षक

इसके बाद, आइए एक ठोस पर्यवेक्षक वर्ग लागू करें जो IObserver इंटरफ़ेस लागू करता है।

public class ConcreteObserver : IObserver
{
    public void Update()
    {
        Console.WriteLine("Observer notified of state change.");
    }
}

उदाहरण उपयोग

अब, आइए देखें कि हम इन कक्षाओं का एक साथ उपयोग कैसे कर सकते हैं।

class Program
{
    static void Main(string[] args)
    {
        ConcreteSubject subject = new ConcreteSubject();
        ConcreteObserver observer1 = new ConcreteObserver();
        ConcreteObserver observer2 = new ConcreteObserver();

        subject.RegisterObserver(observer1);
        subject.RegisterObserver(observer2);

        subject.NotifyObservers();

        subject.UnregisterObserver(observer1);

        subject.NotifyObservers();
    }
}

इस उदाहरण में, कंक्रीटसब्जेक्ट विषय है, और कंक्रीटऑब्जर्वर पर्यवेक्षक है। जब NotifyObservers() को कॉल किया जाता है, तो दोनों पर्यवेक्षकों को राज्य परिवर्तन के बारे में सूचित किया जाता है। एक पर्यवेक्षक को अपंजीकृत करने के बाद, केवल शेष पर्यवेक्षक को सूचित किया जाता है।

आगे क्या?

ऑब्जर्वर पैटर्न C# में वस्तुओं के बीच संचार को लागू करने का एक शक्तिशाली तरीका है। यह ढीले युग्मन को बढ़ावा देता है और इवेंट-संचालित आर्किटेक्चर में विशेष रूप से उपयोगी हो सकता है। इस पैटर्न को समझकर और लागू करके, आप अधिक रखरखाव योग्य और स्केलेबल कोड लिख सकते हैं।

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/hbolajraf/c-understand-the-observer-pattern-1nm6 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3