JS 디자인 모델 의 상태 모델 개념 과 용법 분석

본 고 는 JS 디자인 모델 의 상태 모델 개념 과 용법 을 실례 로 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
1.개술
대상 의 내 적 상태 가 바 뀌 었 을 때 행동 을 바 꿀 수 있 도록 허용 하 는데,이 대상 은 그 종 류 를 바 꾼 것 처럼 보인다.
2.해결 하 는 문제
대상 의 상태 전환 을 제어 하 는 조건 식 이 너무 복잡 할 때의 상황 을 주로 해결 합 니 다.상태의 판단 논 리 를 서로 다른 일련의 유형 으로 옮 기 면 복잡 한 논리 판단 을 단순화 할 수 있다.

function Context( _state ) {
 this.state = _state;
 this.request = function() {
  this.state.Handle( this );
 }
}
function ConcreteStateA() {
 this.Handle = function( context ) {
  console.log("A");
  context.state = new ConcreteStateB();
 }
}
function ConcreteStateB() {
 this.Handle = function( context ) {
  console.log("B");
  context.state = new ConcreteStateA();
 }
}
//   Context      ConcreteStateA
var context = new Context(new ConcreteStateA());
//        ,      
context.request();
context.request();

상태 모드 의 사용 장면 도 특히 명확 하 다.다음 과 같은 두 가지 가 있다.
대상 의 행동 은 상태 에 달 려 있 으 며,실행 시간 에 상태 에 따라 행동 을 바 꿔 야 한다.
하나의 작업 에 대량의 분기 문 구 를 포함 하고 있 으 며,이 분기 문 구 는 이 대상 의 상태 에 의존한다.상 태 는 보통 하나 이상 의 상수 로 표시 된다.
응용 필드:
전 화 를 걸 면 다음 과 같은 몇 가지 상태 가 있 습 니 다.전화번호,전화 중,통화 중,통화 가 끝 납 니 다.
이 몇 가지 상태의 순 서 는 순서대로 진행 된다.그러면 우 리 는 이 몇 가지 상태 에 따라 상태 모델 을 실현 할 수 있다.
전화 번 호 를 받다

다이얼 중

통화 중

통화 종료

끊임없이 이 방법 을 호출 합 니 다context.request();현재 가 그런 상태 에 속 하 는 지 판단 합 니 다.
더 많은 자 바스 크 립 트 관련 내용 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,,,,,,,,,,,
본 고 에서 말 한 것 이 여러분 의 자 바스 크 립 트 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기