Le modèle stratégie définit une famille d'algorithmes, encapsule chacun d'eux et les rend interchangeables.
Dans cet exemple, nous avons un ensemble de réductions 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 :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!