Das Strategie-Muster definiert eine Familie von Algorithmen, kapselt jeden einzelnen und macht sie austauschbar.
In diesem Beispiel haben wir eine Reihe von Rabatten, die auf einen Warenkorb angewendet werden können. Wir können die Funktion, die wir anwenden, an den Konstruktor übergeben und auf diese Weise den Rabattbetrag ändern.
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 };
Ein vollständiges Beispiel finden Sie hier? https://stackblitz.com/edit/vitejs-vite-tygwh3?file=strategy.js
Fazit
Verwenden Sie dieses Muster, wenn Sie viele ähnliche Klassen haben, die sich nur darin unterscheiden, wie sie ein bestimmtes Verhalten ausführen.
Ich hoffe, Sie fanden es hilfreich. Danke fürs Lesen. ?
Lassen Sie uns miteinander in Kontakt treten! Sie finden mich unter:
Das obige ist der detaillierte Inhalt vonJavaScript-Entwurfsmuster – Verhalten – Strategie. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!