ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript デザイン パターン - 動作 - 戦略

JavaScript デザイン パターン - 動作 - 戦略

WBOY
WBOYオリジナル
2024-08-16 18:36:05874ブラウズ

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/
  • Linkedin: https://www.linkedin.com/in/nhannguyendevjs/
  • X (旧 Twitter): https://twitter.com/nhannguyendevjs/
  • コーヒーを買ってください: https://www.buymeacoffee.com/nhannguyendevjs

以上がJavaScript デザイン パターン - 動作 - 戦略の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。