टिप्पणी आप मेरी निजी वेबसाइट पर अन्य पोस्ट देख सकते हैं: 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 Listobservers = 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# में वस्तुओं के बीच संचार को लागू करने का एक शक्तिशाली तरीका है। यह ढीले युग्मन को बढ़ावा देता है और इवेंट-संचालित आर्किटेक्चर में विशेष रूप से उपयोगी हो सकता है। इस पैटर्न को समझकर और लागू करके, आप अधिक रखरखाव योग्य और स्केलेबल कोड लिख सकते हैं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3