>  기사  >  웹 프론트엔드  >  Node.js 디자인 패턴: 어댑터 패턴이 무엇인가요? JS 어댑터 패턴 소개

Node.js 디자인 패턴: 어댑터 패턴이 무엇인가요? JS 어댑터 패턴 소개

不言
不言원래의
2018-08-17 17:00:102440검색

이 기사에서는 js 디자인 패턴에 대한 내용을 제공합니다. 어댑터 패턴이란 무엇입니까? js 어댑터 모드의 도입에는 특정 참고 가치가 있습니다. 도움이 필요한 친구가 참고할 수 있기를 바랍니다.

어댑터 패턴이란 무엇인가요?

정의: 클래스의 인터페이스를 고객이 원하는 다른 인터페이스로 변환합니다. 어댑터 패턴을 사용하면 호환되지 않는 인터페이스로 인해 함께 작동하지 않는 클래스가 함께 작동할 수 있습니다.

주요 솔루션: 주로 소프트웨어 시스템에서 해결되며 일부 "기존 개체"를 새로운 환경에 배치해야 하는 경우가 많으며 새 환경에서 요구하는 인터페이스는 기존 개체로 충족될 수 없습니다.

사용 시기: 1. 시스템은 기존 클래스를 사용해야 하며 이러한 유형의 인터페이스는 시스템 요구 사항을 충족하지 않습니다. 2. 나중에 도입될 수 있는 일부 클래스를 포함하여 서로 별로 관련되지 않은 일부 클래스와 작업하기 위해 재사용할 수 있는 클래스를 생성하려고 합니다. 이러한 소스 클래스에는 반드시 일관된 인터페이스가 필요하지 않습니다. 3. 인터페이스 변환을 통해 한 클래스를 다른 클래스에 삽입합니다. (예를 들어 호랑이와 새에는 이제 날아다니는 호랑이가 있습니다. 엔터티를 추가할 필요 없이 호랑이 개체를 포함하는 어댑터를 추가하고 나는 인터페이스를 구현합니다.)

해결 방법: 상속 또는 종속성(권장).

키 코드: 어댑터는 원하는 대상 인터페이스를 달성하기 위해 기존 개체를 상속하거나 의존합니다.

js 어댑터 모드 적용 예: 1. 미국 전기 제품은 110V이고 중국은 220V입니다. 110V를 220V로 변환하려면 어댑터가 필요합니다. 2. JAVA JDK 1.1은 Enumeration 인터페이스를 제공하고, 1.2는 Iterator 인터페이스를 제공합니다. 1.2 JDK를 사용하려면 이전 시스템의 Enumeration 인터페이스를 Iterator 인터페이스로 변환해야 합니다. 이 경우 어댑터 모드가 필요합니다. . 3. LINUX에서 WINDOWS 프로그램을 실행합니다. 4. JAVA의 jdbc.

js 어댑터 패턴의 장점: 1. 관련되지 않은 두 클래스를 함께 실행할 수 있습니다. 2. 클래스 재사용이 개선되었습니다. 3. 수업의 투명성을 높였습니다. 4. 유연성이 좋습니다.

js 어댑터 모드의 단점: 어댑터를 과도하게 사용하면 시스템이 매우 지저분해지고 전체적으로 이해하기 어려워집니다. 예를 들어 A 인터페이스가 호출되는 것은 분명하지만 실제로는 B 인터페이스 구현에 맞게 내부적으로 조정되었습니다. 시스템에서 이러한 일이 너무 많이 발생하면 재앙과 같습니다. 따라서 필요하지 않은 경우에는 어댑터를 사용하지 않고 직접 시스템을 재구성할 수 있습니다.

js 어댑터 패턴 적용 시나리오: 정상적으로 실행되는 시스템의 인터페이스를 수정하려는 동기가 있는 경우 어댑터 패턴 사용을 고려해야 합니다.

참고: 어댑터는 상세 설계 중에 추가되는 것이 아니라 서비스 중인 프로젝트의 문제를 해결하기 위해 추가됩니다.

js 어댑터 패턴 예

예를 들어 이전 인터페이스를 새 인터페이스에 적용해야 합니다

// 老接口
const oldCity = (function() {
    return [
        {
            name: 'hangzhou',
            id: 11,
        },
        {
            name: 'jinhua',
            id: 12
        }
    ]
}())

// 新接口希望是下面形式
// {
//     hangzhou: 11,
//     jinhua: 12
// }

// 这时候就可采用适配者模式
const adaptor = function(oldCity) {
    const obj = {};
    for (let city of oldCity) {
        obj[city.name] = city.id
    }
    return obj
};

console.log(adaptor(oldCity));

관련 권장 사항:

js 디자인 패턴: 중재자 패턴이란 무엇인가요? js 중재자 패턴 소개

js 디자인 패턴: 상태 패턴이란 무엇인가요? js 상태 모드 소개

위 내용은 Node.js 디자인 패턴: 어댑터 패턴이 무엇인가요? JS 어댑터 패턴 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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