고전적인 JavaScript 디자인 패턴에 대한 자세한 설명 Strategy Pattern

黄舟
풀어 주다: 2017-03-20 11:04:38
원래의
1259명이 탐색했습니다.

전략 패턴의 의미는 일련의 알고리즘을 정의하고 이를 하나씩 캡슐화하여 상호 교환 가능하게 만드는 것입니다.
작은 예를 보면 이를 명확하게 알 수 있습니다.

jquery의 애니메이션 메서드를 떠올려 보세요.

$( p ).animate( {“left: 200px”}, 1000, ‘linear’ );  //匀速运动
$( p ).animate( {“left: 200px”}, 1000, ‘cubic’ );  //三次方的缓动
로그인 후 복사

이 두 줄의 코드는 모두 p를 1000ms 동안 오른쪽으로 200픽셀 이동하고 3차 함수로 만듭니다. (cubic easing)은 전략 패턴을 요약한 것입니다.

제가 올해 상반기에 작성한 dev.qplus.com에는 각 페이지마다 즉시 확인 양식이 있습니다. 회원에게는 다양한 확인 규칙이 있습니다.

예를 들어 이름 상자에서는 비어 있지 않은 민감한 단어, 너무 긴 문자를 확인해야 합니다. 물론 if else를 3개 써서 문제를 해결할 수도 있지만, 이렇게 코드를 작성하는 것의 확장성과 유지관리성은 상상이 가능합니다. 양식에 더 많은 요소가 있고 더 많은 상황을 확인해야 한다면, 총 수백 개의 if else를 작성하는 것이 불가능하지 않습니다.

따라서 더 나은 접근 방식은 각 유효성 검사 규칙을 전략 패턴에 별도로 캡슐화하는 것입니다. 어떤 종류의 확인이 필요한 경우 정책 이름만 제공하면 됩니다. 이렇게:

nameInput.addValidata({
notNull: true,
dirtyWords: true,
maxLength: 30
})
而notNull,maxLength等方法只需要统一的返回true或者false,来表示是否通过了验证。
validataList = {
notNull: function( value ){
return value !== ”;
},
maxLength: function( value, maxLen ){
return value.length() > maxLen;
}
}
로그인 후 복사

보시다시피 다양한 유효성 검사 규칙을 쉽게 수정하고 서로 교체할 수 있습니다. 어느 날 제품 관리자가 글자수 제한을 60자로 변경하라고 제안한다면. 작업을 완료하는 데 걸리는 시간은 단 0.5초입니다.

관련 기사:

JavaScript 디자인 패턴 클래식 단순 팩토리 패턴 코드 예제

JavaScript 디자인 패턴 클래식 싱글턴 패턴 자세한 설명

자바스크립트 디자인 패턴 중 옵저버 패턴에 대한 자세한 소개

위 내용은 고전적인 JavaScript 디자인 패턴에 대한 자세한 설명 Strategy Pattern의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!