이번에는 JS 전략 모드 사용에 대한 자세한 설명을 가져오겠습니다. JS 전략 모드 사용 시 주의 사항은 무엇인가요?
전략 패턴의 개념 참조:
우리는 소프트웨어 개발에서 종종 비슷한 상황에 직면하게 됩니다. 특정 기능을 구현하기 위해 다양한 알고리즘이나 전략을 선택할 수 있습니다. 이 기능을 완성하세요. .
검색, 정렬 등과 같은 일반적인 방법은 클래스에 하드 코딩하는 것입니다. 여러 검색 알고리즘을 제공해야 하는 경우 이러한 알고리즘을 클래스에 작성하고 여러 메서드를 제공할 수 있습니다. 각 방법은 특정 검색어에 해당합니다. 검색 알고리즘; 물론 이러한 검색 알고리즘은 통합된 방법으로 캡슐화될 수도 있으며 if...else...또는 케이스 및 기타 조건 판단문을 통해 선택할 수 있습니다.
이 두 가지 구현 방법을 하드 코딩이라고 할 수 있습니다. 새로운 검색 알고리즘을 추가해야 하는 경우 캡슐화된 알고리즘 클래스의 소스 코드를 수정해야 하며, 검색 알고리즘을 변경하는 경우 클라이언트 호출도 수정해야 합니다. 암호.
이 알고리즘 클래스에는 수많은 검색 알고리즘이 캡슐화되어 있습니다. 이러한 유형의 코드는 더 복잡하고 유지 관리가 어렵습니다. 이러한 전략을 클라이언트에 포함하면 클라이언트 프로그램이 커지고 유지 관리가 어려워지기 때문에 문제가 더욱 심각해집니다.
예:
1. 여행: 자전거 타기, 자동차 타기, 기차 타기, 비행기 타기 등 여러 가지 전략을 고려할 수 있습니다. 각 전략은 동일한 결과를 달성하지만 서로 다른 리소스를 사용합니다.
비용, 시간, 도구, 각 방법의 편의성을 바탕으로 전략을 선택하세요.
2. 메이데이를 맞이하여 쇼핑몰에서 도서상품은 구매금액에 따라 아래와 같은 할인전략을 시행하였습니다
1. 199위안 이상 구매시 10% 할인
2. 399위안 이상, 20% 할인
3. 599위안 이상 구매 시 30% 할인;
function BookStrategy() { this.calcPrice = function( price ) { console.log("未打折 = " + price); } } function BookCalc9Strategy() { this.calcPrice = function( price ) { console.log("原价是:"+ price +";打9折后:" + (price * 0.9)); } } function BookCalc8Strategy() { this.calcPrice = function( price ) { console.log("原价是:"+ price +";打8折后:" + (price * 0.8)); } } function BookCalc7Strategy() { this.calcPrice = function( price ) { console.log("原价是:"+ price +";打7折后:" + (price * 0.7)); } } function PriceCalc( _strategy ) { this.strategy = _strategy; this.getPrice = function( price ) { return this.strategy.calcPrice( price ); } } function Client() { var price = 100; var priceCalc = null; if ( 199 <= price && price < 399 ) { priceCalc = new PriceCalc(new BookCalc9Strategy()); } else if ( 399 <= price && price < 599 ) { priceCalc = new PriceCalc(new BookCalc8Strategy()); } else if ( 599 <= price ) { priceCalc = new PriceCalc(new BookCalc7Strategy()); } else { priceCalc = new PriceCalc(new BookStrategy()); } priceCalc.getPrice(price); } Client();
운영 결과:
이 기사의 사례를 읽으신 후 방법을 익히셨을 것입니다. PHP 중국어 웹사이트의 다른 관련 기사도 주목해주세요!
추천 도서:
mixin의 상위 수준 구성 요소 사용에 대한 자세한 설명
위 내용은 JS 전략 패턴 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!