首頁 > web前端 > js教程 > JavaScript 設計模式 - 行為 - 策略

JavaScript 設計模式 - 行為 - 策略

WBOY
發布: 2024-08-16 18:36:05
原創
953 人瀏覽過

JavaScript Design Patterns - Behavioral - Strategy

策略模式定義了一系列演算法,封裝了每個演算法,並使它們可以互換。

在此範例中,我們有一組可應用於購物車的折扣。我們可以傳遞將應用於建構函數的函數,並以這種方式更改折扣金額。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板