javascript 디자인 모드 C 명령 모드 원리 와 용법 실례 분석

본 논문 의 사례 는 자바 script 디자인 모델 C 명령 모델 의 원리 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
소개:명령 모드 는 데이터 구동 의 디자인 모델 로 요청 을 명령 형식 으로 대상 에 감 싸 고 호출 대상 에 게 전달 합 니 다.명령 모드 의 핵심 은 명령 류 를 도입 하여 명령 류 를 통 해 발송 자 와 수용자 의 결합 도 를 낮 추 는 것 이다.
정의:요청 을 대상 으로 밀봉 하여 서로 다른 요청 으로 고객 을 매개 변수 화 할 수 있 습 니 다.요청 대기 열 이나 요청 로 그 를 기록 하고 취소 가능 한 동작 을 지원 합 니 다.명령 모드 는 동작(Action)모드 나 트 랜 잭 션(Transaction)모드 라 는 별명 을 가 진 대상 행동 형 모드 입 니 다.
장면:우 리 는 주식 을 매매 하 는 장면 을 통 해 명령 모델 을 실현 한다.
예시:

var Stock = function(){
  this.name = 'baidu';
  this.quantity = 100;
  this.buy = function(){
    console.log('   :' + this.quantity + ' ' + this.name);
  }
  this.sell = function(){
    console.log('   :' + this.quantity + ' ' + this.name);
  }
}
 
var BuyStock = function(stock){
  this.stock = stock;
 
  this.execute = function(){
    this.stock.buy();
  }
}
 
var SellStock = function(stock){
  this.stock = stock;
 
  this.execute = function(){
    this.stock.sell();
  }
}
 
var Broker = function(){
  this.orderList = [];
 
  this.takeOrder = function(order){
    this.orderList.push(order);
  }
  this.placeOrders = function(){
    this.orderList.map(function(item){
      item.execute();
    })
    this.orderList = [];
  }
}
 
var stock = new Stock();
var buyStock = new BuyStock(stock);
var sellStock = new SellStock(stock);
 
var broker = new Broker();
broker.takeOrder(buyStock);
broker.takeOrder(sellStock);
broker.placeOrders();
//    :100 baidu
//    :100 baidu

이 예 에서 SellStock,BuyStock 은 명령 류 로 실제 명령 을 수행 합 니 다.Broker 는 명령 을 받 고 지정 한 시기 에 명령 을 수행 합 니 다.Stock 은 요청 수용체,
뒤 돌아 보면 sellstock,buystock 은 명령 을 봉 인 된 대상 입 니 다.대상 의 execute 방법 을 통 해 이 명령 을 수행 할 수 있 습 니 다.placeOrders 확장 방법 을 통 해 요청 대기 열 이나 요청 로 그 를 기록 하고 취소 가능 한 작업 을 지원 할 수 있 습 니 다.
명령 모드 요약:
장점:
*시스템 결합 도 감소
*새로운 명령 은 시스템 에 쉽게 들 어 갑 니 다
단점:
*명령 모드 를 사용 하면 일부 시스템 에 구체 적 인 명령 클래스 가 너무 많 을 수 있 습 니 다.
적용 필드:
*시스템 은 요청 호출 자 와 요청 수신 자 를 결합 해제 해 야 합 니 다.
관심 있 는 친 구 는 온라인 HTML/CSS/JavaScript 코드 실행 도 구 를 사용 할 수 있 습 니 다.http://tools.jb51.net/code/HtmlJsRun상기 코드 실행 효 과 를 테스트 할 수 있 습 니 다.
자 바스 크 립 트 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,javascript 대상 입문 강좌,JavaScript 오류 및 디 버 깅 기술 요약,JavaScript 데이터 구조 와 알고리즘 기술 총화JavaScript 스 트 리밍 알고리즘 및 기술 총화.
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기