戦略 パターンは、アルゴリズムのファミリーを定義し、それぞれをカプセル化し、それらを交換可能にします。
この例では、ショッピング カートに適用できる一連の 割引 があります。適用する関数をコンストラクターに渡すことで、割引額を変更できます。
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
結論
一部の動作の実行方法のみが異なる類似のクラスが多数ある場合は、このパターンを使用します。
お役に立てば幸いです。読んでいただきありがとうございます。 ?
つながりましょう!私を見つけるには:
以上がJavaScript デザイン パターン - 動作 - 戦略の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。