> 웹 프론트엔드 > JS 튜토리얼 > JavaScript 디자인 패턴 - 행동 - 전략

JavaScript 디자인 패턴 - 행동 - 전략

WBOY
풀어 주다: 2024-08-16 18:36:05
원래의
946명이 탐색했습니다.

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/
  • 링크드인: https://www.linkedin.com/in/nhannguyendevjs/
  • X(이전 Twitter): https://twitter.com/nhannguyendevjs/
  • 커피 사주세요: https://www.buymeacoffee.com/nhannguyendevjs

위 내용은 JavaScript 디자인 패턴 - 행동 - 전략의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿