पर्यवेक्षक पैटर्न वस्तुओं के बीच एक-से-अनेक निर्भरता की परिभाषा की अनुमति देता है ताकि जब एक वस्तु स्थिति बदलती है तो उसके सभी आश्रितों को स्वचालित रूप से सूचित और अपडेट किया जाता है।
इस उदाहरण में, हम एक सरल वर्ग उत्पाद बना रहे हैं जिसे अन्य वर्ग register() विधि में परिवर्तनों के बारे में दर्ज करते हुए देख सकते हैं। जब कुछ अद्यतन किया जाता है, तो notifyAll() विधि इन परिवर्तनों के बारे में सभी पर्यवेक्षकों के साथ संचार करेगी।
class ObservedProduct { constructor() { this.price = 0; this.actions = []; } setBasePrice(val) { this.price = val; this.notifyAll(); } register(observer) { this.actions.push(observer); } unregister(observer) { this.actions.remove.filter(function (el) { return el !== observer; }); } notifyAll() { return this.actions.forEach( function (el) { el.update(this); }.bind(this) ); } } class Fees { update(product) { product.price = product.price * 1.2; } } class Profit { update(product) { product.price = product.price * 2; } } export { ObservedProduct, Fees, Profit };
एक संपूर्ण उदाहरण यहां है? https://stackblitz.com/edit/vitejs-vite-kyucyd?file=main.js
निष्कर्ष
इस पैटर्न का उपयोग तब करें जब एक वस्तु की स्थिति में परिवर्तन के लिए अन्य वस्तुओं को बदलने की आवश्यकता हो, और वस्तुओं का वास्तविक सेट पहले से अज्ञात हो या गतिशील रूप से बदलता हो।
मुझे आशा है कि आपको यह उपयोगी लगा होगा। पढ़ने के लिए धन्यवाद। ?
आइए जुड़ें! आप मुझे यहां पा सकते हैं:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3