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

जावास्क्रिप्ट डिज़ाइन पैटर्न - व्यवहार - रणनीति

2024-11-01 को प्रकाशित
ब्राउज़ करें:351

JavaScript Design Patterns - Behavioral - Strategy

रणनीति पैटर्न एल्गोरिदम के एक परिवार को परिभाषित करता है, प्रत्येक को समाहित करता है, और उन्हें विनिमेय बनाता है।

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

class ShoppingCart {
  constructor(discount) {
    this.discount = discount;
    this.amount = 0;
  }

  checkout() {
    return this.discount(this.amount);
  }

  setAmount(amount) {
    this.amount = amount;
  }
}

function guest(amount) {
  return amount;
}

function regular(amount) {
  return amount * 0.9;
}

function premium(amount) {
  return amount * 0.8;
}

export { ShoppingCart, guest, regular, premium };

एक संपूर्ण उदाहरण यहां है? https://stackblitz.com/edit/vitejs-vite-tygwh3?file=strategy.js

निष्कर्ष

इस पैटर्न का उपयोग तब करें जब आपके पास बहुत सी समान कक्षाएं हों जो केवल कुछ व्यवहार को निष्पादित करने के तरीके में भिन्न हों।


मुझे आशा है कि आपको यह उपयोगी लगा होगा। पढ़ने के लिए धन्यवाद। ?

आइए जुड़ें! आप मुझे यहां पा सकते हैं:

  • मध्यम: https://medium.com/@nhannguyendevjs/
  • देव: https://dev.to/nhannguyendevjs/
  • हैशनोड: https://nhannguyen.hashnode.dev/
  • लिंक्डइन: https://www.linkedin.com/in/nhannguyendevjs/
  • X (पूर्व में ट्विटर): https://twitter.com/nhannguyendevjs/
  • मेरे लिए कॉफ़ी खरीदें: https://www.buymeacoffee.com/nhannguyendevjs
विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/nhannguyendevjs/javascript-design-patterns-behavioral-strategy-152d?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3