javascript 디자인 모델 C 전략 모델 원리 와 용법 사례 분석

본 논문 의 사례 는 자바 script 디자인 모델 C 전략 모델 의 원리 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
소개:전략 모드 에서 서로 다른 알고리즘 을 패키지 하기 위해 독립 된 클래스 를 정의 할 수 있 으 며,각 클래스 는 구체 적 인 알고리즘 을 패키지 할 수 있 습 니 다.여기 서 모든 알고리즘 의 패 키 징 을 하나의 전략 이 라 고 할 수 있다.정책 모드 의 주요 목적 은 알고리즘 의 정의 와 사용 을 분리 하 는 것 이다.
정의:일련의 알고리즘 클래스 를 정의 하고 모든 알고리즘 을 패키지 하여 서로 바 꿀 수 있 도록 합 니 다.전략 모델 은 알고리즘 을 독립 적 으로 사용 하 는 고객 에 게 변화 시 키 고 정책 모델 이 라 고도 부른다.전략 모델 은 대상 행동 형 모델 이다.
장면:전략 모드 를 사용 하여 가감 곱 하기 도구 류 를 실현 하고 네 개의 알고리즘 을 봉인 합 니 다.
예시:

var AddStrategy = function(){
  this.caculate = function(num1, num2){
    return num1 + num2;
  }
}
 
var SubStrategy = function(){
  this.caculate = function(num1, num2){
    return num1 - num2;
  }
}
 
var MulStrategy = function(){
  this.caculate = function(num1, num2){
    return num1 * num2;
  }
}
 
var DivStrategy = function(){
  this.caculate = function(num1, num2){
    return num1 / num2;
  }
}
 
var Context = function(strategy){
  var _strategy = strategy;
 
  this.executeStrategy = function(num1, num2){
    return _strategy.caculate(num1, num2)
  }
}
var add = new Context(new AddStrategy());
var sub = new Context(new SubStrategy());
var mul = new Context(new MulStrategy());
var div = new Context(new DivStrategy());
 
console.log('1 + 2 = ' + add.executeStrategy(1, 2));
console.log('5 - 1 = ' + sub.executeStrategy(5, 1));
console.log('3 * 2 = ' + mul.executeStrategy(3, 2));
console.log('8 / 2 = ' + div.executeStrategy(8, 2));
 
// 1 + 2 = 3
// 5 - 1 = 4
// 3 * 2 = 6
// 8 / 2 = 4

이 예 에서 Context 는 환경 류 라 고 부 르 고 환경 류 는 알고리즘 을 사용 하 는 역할 로 그 는 특정한 문 제 를 해결 할 때 여러 가지 전략 을 사용 할 수 있다.우리 의 예 에서 전달 하 는 전략 에 따라 Context 가 서로 다른 처리 방식 을 하 게 됩 니 다.
DivStrategy,MulStrategy,SubStrategy,AddStrategy 는 전략 류 라 고 부 르 며 구체 적 인 전략 을 실현 한다.
전략 모드 요약:
장점:
*스위치 원칙 의 완벽 한 지원 을 제공 하여 기 존 시스템 을 수정 하지 않 고 확장 할 수 있 습 니 다.
*전략 모드 는 계승 관 계 를 바 꿀 수 있 는 방법 을 제공 합 니 다.
*정책 모드 를 사용 하면 다 중 조건 선택 문 구 를 피 할 수 있 습 니 다.
단점:
*클 라 이언 트 는 모든 정책 클래스 를 알 고 어떤 정책 을 사용 해 야 하 는 지 스스로 선택해 야 합 니 다.
*전략 모드 는 시스템 에 많은 전략 류 를 만들어 내 고 작은 변화 로 인해 시스템 에 새로운 전략 류 를 추가 해 야 합 니 다.
*클 라 이언 트 는 매번 하나의 정책 클래스 만 선택 할 수 있 습 니 다.
관심 있 는 친 구 는 온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 할 수 있 습 니 다.http://tools.jb51.net/code/HtmlJsRun상기 코드 실행 효 과 를 테스트 할 수 있 습 니 다.
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,javascript 대상 입문 강좌,JavaScript 오류 및 디 버 깅 기술 요약,JavaScript 데이터 구조 와 알고리즘 기술 총화JavaScript 스 트 리밍 알고리즘 및 기술 총화.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기