state पैटर्न किसी वस्तु को उसकी आंतरिक स्थिति बदलने पर उसके व्यवहार को बदलने की अनुमति देता है।
इस उदाहरण में, हम ऑर्डर क्लास के साथ एक सरल राज्य पैटर्न बनाते हैं जो next() विधि के साथ स्थिति को अपडेट करेगा।
const ORDER_STATUS = { waitingForPayment: 'Waiting for payment', shipping: 'Shipping', delivered: 'Delivered', }; class OrderStatus { constructor(name, nextStatus) { this.name = name; this.nextStatus = nextStatus; } next() { return new this.nextStatus(); } } class WaitingForPayment extends OrderStatus { constructor() { super(ORDER_STATUS.waitingForPayment, Shipping); } } class Shipping extends OrderStatus { constructor() { super(ORDER_STATUS.shipping, Delivered); } } class Delivered extends OrderStatus { constructor() { super(ORDER_STATUS.delivered, Delivered); } } class Order { constructor() { this.state = new WaitingForPayment(); } next() { this.state = this.state.next(); } } export { Order };
एक संपूर्ण उदाहरण यहां है? https://stackblitz.com/edit/vitejs-vite-6zcfql?file=state.js
निष्कर्ष
इस पैटर्न का उपयोग तब करें जब ऑब्जेक्ट का व्यवहार उसकी स्थिति पर निर्भर करता है, और उसका व्यवहार उस स्थिति के आधार पर रनटाइम में बदलता है।
मुझे आशा है कि आपको यह उपयोगी लगा होगा। पढ़ने के लिए धन्यवाद। ?
आइए जुड़ें! आप मुझे यहां पा सकते हैं:
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3