यहाँ मेरा तीन पर ले लो:
अनिवार्य तथ्य
मूल रूप से, इसका मूल अर्थ है "ऑब्जेक्ट Y पर संपत्ति X का मान, वस्तु B पर संपत्ति A के मूल्य के लिए शब्दार्थ रूप से बाध्य है। कोई अनुमान नहीं लगाया जाता है कि Y कैसे जानता है या ऑब्जेक्ट B पर परिवर्तन खिलाया गया है।
ऑब्जर्वर, या ऑब्जर्वेबल / ऑब्जर्वर
एक डिज़ाइन पैटर्न जिसके द्वारा किसी वस्तु को विशिष्ट घटनाओं के अन्य लोगों को सूचित करने की क्षमता के साथ जोड़ा जाता है - आम तौर पर वास्तविक घटनाओं का उपयोग करके किया जाता है, जो एक विशिष्ट फ़ंक्शन / विधि के आकार के साथ ऑब्जेक्ट में स्लॉट की तरह होते हैं। अवलोकनीय वह है जो सूचनाएं प्रदान करता है, और पर्यवेक्षक उन सूचनाओं को प्राप्त करता है। .Net में, अवलोकनीय किसी घटना को उजागर कर सकता है और पर्यवेक्षक "ईवेंट हैंडलर" आकार के हुक के साथ उस ईवेंट की सदस्यता लेता है। विशिष्ट तंत्र के बारे में कोई धारणा नहीं बनाई गई है, जो अधिसूचनाएँ होती हैं, और न ही पर्यवेक्षकों की संख्या के बारे में, जो एक पर्यवेक्षक अधिसूचित कर सकते हैं।
पब / उप
एक अन्य नाम (शायद "अधिक" प्रसारण "शब्दार्थ) के साथ ऑब्जर्वेबल / ऑब्जर्वर पैटर्न का है, जो आमतौर पर एक अधिक" गतिशील "स्वाद का अर्थ है - पर्यवेक्षक सूचनाओं की सदस्यता या सदस्यता समाप्त कर सकते हैं और एक पर्यवेक्षक कई पर्यवेक्षकों को" चिल्लाओ "कर सकता है। .NET में, कोई भी इसके लिए मानक ईवेंट का उपयोग कर सकता है, क्योंकि ईवेंट मल्टीकास्टडेलगेट का एक रूप हैं, और इसलिए कई ग्राहकों को ईवेंट की डिलीवरी का समर्थन कर सकते हैं, और सदस्यता रद्द करने का भी समर्थन कर सकते हैं। पब / सब का कुछ संदर्भों में थोड़ा अलग अर्थ है, आमतौर पर घटना और इवेंटर के बीच अधिक "गुमनामी" को शामिल किया जाता है, जिसे किसी भी संख्या में सार द्वारा सुगम बनाया जा सकता है, जिसमें आमतौर पर कुछ "मध्यम व्यक्ति" शामिल होते हैं (जैसे संदेश कतार जो सभी जानते हैं पार्टियां, लेकिन व्यक्तिगत पार्टियां एक-दूसरे के बारे में नहीं जानती हैं।
डेटा बाइंडिंग, Redux
कई "एमवीसी-जैसे" पैटर्न में, अवलोकन योग्य "संपत्ति परिवर्तित अधिसूचना" के कुछ तरीके को उजागर करता है जिसमें विशिष्ट संपत्ति के बारे में जानकारी भी होती है। पर्यवेक्षक अंतर्निहित है, आमतौर पर फ्रेमवर्क द्वारा बनाया जाता है, और विशेष रूप से किसी वस्तु और संपत्ति की पहचान करने के लिए कुछ बाध्यकारी सिंटैक्स के माध्यम से इन सूचनाओं की सदस्यता लेता है, और "ईवेंट हैंडलर" सिर्फ नए मूल्य को कॉपी करता है, संभवतः किसी भी अद्यतन या ताज़ा तर्क को ट्रिगर करता है।
डेटा बाइंडिंग रिड्यूक्स
डेटा बाइंडिंग के लिए एक वैकल्पिक कार्यान्वयन? ठीक है, यहाँ एक बेवकूफ है:
- एक बैकग्राउंड थ्रेड शुरू किया जाता है जो किसी ऑब्जेक्ट पर बाउंड प्रॉपर्टी की लगातार जांच करता है।
- यदि वह थ्रेड पता लगाता है कि पिछले चेक के बाद से संपत्ति का मूल्य बदल गया है, तो बाध्य आइटम पर मूल्य की प्रतिलिपि बनाएँ।