Le modèle stratégie définit une famille d'algorithmes, encapsule chacun d'entre eux et les rend interchangeables.
Dans cet exemple, nous avons un ensemble de remises qui peuvent être appliquées à un panier. Nous pouvons transmettre la fonction que nous appliquerons au constructeur et ainsi modifier le montant actualisé.
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 };
Un exemple complet est ici ? https://stackblitz.com/edit/vitejs-vite-tygwh3?file=strategy.js
Conclusion
Utilisez ce modèle lorsque vous avez de nombreuses classes similaires qui diffèrent uniquement par la façon dont elles exécutent certains comportements.
J'espère que cela vous a été utile. Merci d'avoir lu. ?
Connectons-nous ! Vous pouvez me trouver sur :
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3