>웹 프론트엔드 >JS 튜토리얼 >자바스크립트 시리즈의 심층이해(30): 디자인 패턴의 등장 패턴에 대한 자세한 설명_기본지식

자바스크립트 시리즈의 심층이해(30): 디자인 패턴의 등장 패턴에 대한 자세한 설명_기본지식

WBOY
WBOY원래의
2016-05-16 16:11:091049검색

소개

Facade는 하위 시스템의 인터페이스 집합에 대해 일관된 인터페이스를 제공합니다. 이 모듈은 이 하위 시스템을 더 쉽게 사용할 수 있도록 하는 상위 수준 인터페이스를 정의합니다.

텍스트

외관 패턴은 클래스의 인터페이스를 단순화할 뿐만 아니라 호출자와 인터페이스를 분리합니다. 파사드 패턴은 개발자에게 꼭 필요한 것으로 간주되는 경우가 많습니다. 이는 일부 복잡한 작업을 캡슐화하고 호출을 위한 간단한 인터페이스를 생성할 수 있습니다.

모양 모드는 JavaScript 클래스 라이브러리에서 자주 사용됩니다. 여러 브라우저와의 호환성을 위해 일부 인터페이스를 캡슐화합니다. 모양 모드를 사용하면 하위 시스템을 간접적으로 호출할 수 있으므로 하위 시스템에 대한 직접 액세스로 인해 발생하는 불필요한 오류를 방지할 수 있습니다.

외형 모드의 장점은 사용이 간편하고 상대적으로 가볍다는 것입니다. 그러나 단점도 있습니다. Appearance 모드는 호출될 때마다 함수의 가용성을 감지해야 하기 때문에 개발자가 지속적으로 사용할 경우 특정 성능 문제를 일으킬 수 있습니다.

다음은 최적화되지 않은 코드의 일부입니다. 브라우저 특성을 감지하여 브라우저 간 사용을 생성하기 위해 표시 모드를 사용합니다.

코드 복사 코드는 다음과 같습니다.

var addMyEvent = 함수(el, ev, fn) {
If (el.addEventListener) {
         el.addEventListener(ev, fn, false);
} else if (el.attachEvent) {
        el.attachEvent('on' ev, fn);
} 그 밖의 {
         el['on' ev] = fn;
}
};
또 다른 간단한 예를 들어보겠습니다. 직설적으로 말하면 하나의 인터페이스가 다른 인터페이스를 캡슐화하는 데 사용됩니다.

코드 복사 코드는 다음과 같습니다.
var mobileEvent = {
// ...
중지: 기능 (e) {
         e.preventDefault();
         e.stopPropagation();
}
// ...
};

요약

그렇다면 언제 외모 모드를 사용해야 할까요? 일반적으로 세 가지 단계가 있습니다.

먼저 디자인 초기 단계에서는 고전적인 3계층 구조와 같이 서로 다른 두 계층을 의식적으로 분리하고 데이터 액세스 계층과 비즈니스 로직 계층, 비즈니스 로직 계층과 비즈니스 로직 계층 사이에 파사드를 구축해야 합니다. 프리젠테이션 레이어.

두 번째로, 개발 단계에서는 지속적인 재구성과 발전으로 인해 하위 시스템이 점점 더 복잡해지는 경우가 많습니다. Facade를 추가하면 간단한 인터페이스를 제공하고 하위 시스템 간의 종속성을 줄일 수 있습니다.

셋째, 레거시 대규모 시스템을 유지 관리하는 경우 시스템 유지가 어려울 수 있으며, 이때 시스템에 대한 외관 Facade 클래스를 개발하여 대략적이고 매우 복잡한 설계 레거시 코드는 상대적으로 명확한 인터페이스를 제공하여 새 시스템이 Facade 객체와 상호 작용할 수 있게 하고 Facade는 레거시 코드와 상호 작용하여 모든 복잡한 작업을 수행합니다.

참고: Dahua 디자인 패턴

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.