[디자인 모드]javascript 어댑터 모드

4317 단어 JavaScript
어댑터 모드 설명
설명:어댑터 모드 는 일반적으로 사용 할 인 터 페 이 스 를 위해 본 응용 이나 본 시스템 에 맞지 않 고 도입 해 야 할 중간 어댑터 클래스 나 대상 의 경우 입 니 다.
장면:마치 우리 가 핸드폰 을 산 것 과 같다.사 온 후에 충전 선 플러그 는 세 개의 플러그 인 데 집에 두 개의 플러그 만 있 는 콘센트 인 데 어 떡 하지?편리 함 을 위해 서 는 어디서 든 전 기 를 충전 할 수 있 도록 유 니 버 설 충전 어댑터 를 사 야 한다.이렇게 해야만 휴대 전 화 를 자신의 집에 충전 할 수 있다.그렇지 않 으 면 놓 아두 거나 이 플러그 가 있 는 곳 으로 가서 충전 할 수 밖 에 없다.
실제 개발 환경 에서 낡은 시스템 이나 제3자 응용 이 제공 하 는 인 터 페 이 스 는 우리 가 정의 한 인터페이스 와 일치 하지 않 기 때문에 인터페이스 프로 그래 밍 을 위 한 환경 에서 이런 낡은,또는 제3자 인 터 페 이 스 를 사용 할 수 없다.이때 우 리 는 적합 한 인 터 페 이 스 를 사용 하여 적합 한 인 터 페 이 스 를 계승 할 수 있다.또한 어댑터 가 인 터 페 이 스 를 실현 하 는 방식 으로 낡은 시스템 이나 제3자 응용 인 터 페 이 스 를 도입 하도록 한다.
이렇게 인터페이스 프로 그래 밍 을 사용 할 때 이 적합 한 클래스 를 사용 하여 낡은 시스템 이나 제3자 가 응용 하 는 인 터 페 이 스 를 간접 적 으로 호출 할 수 있다.
Javascript 에서 대상 언어 를 동적 으로 대상 으로 하 는 어댑터 모드 와 유사 한 코드 를 실현 하려 면 prototype 의 계승 인 스 턴 스 를 사용 하여 실현 할 수 있 습 니 다.인터페이스 제약 을 바탕 으로 하지만 자바 script 은 인터페이스 라 는 것 이 없 기 때문에 우 리 는 인터페이스 라 는 층 을 없 애고 인터페이스 실현 류 Target 을 직접 실현 하여 유사 한 소스 코드 를 모 의 합 니 다.
원본 인 스 턴 스
1.적합 한 클래스 와 인터페이스 방법:
function Adaptee() {
    this.name = 'Adaptee';
}
Adaptee.prototype.getName = function() {
    return this.name;
}

2.일반 실현 클래스[자바 script 에 인터페이스 가 없 기 때문에 실현 클래스 를 직접 제공 합 니 다]
function Target() {
    this.name = 'Target';
}

Target.prototype.queryName= function() {
    return this.name;
}

3.어 울 리 는 종류:
function Adapte() {
    this.name = '';
}

Adapte.prototype = new Adaptee();

Adapte.prototype.queryName = function() {
    this.getName();
}

4 사용 방법:
var local = new Target();
local.queryName(); //       

var adapte = new Adapte();
adapte.queryName(); //              ;

기타 설명
위의 네 번 째 단 계 는 var local 및 var adapte 와 자바,C\#와 같은 대상 언어 에서 인터페이스 참조 지정 입 니 다.예 를 들 어:
interface Target {
    public String queryName();
}
//      
Target local = new RealTarget(); //    Javascript   Target    
local.queryName();

//   
Target adapte = new Adapte();
adapte.queryName();

이 를 통 해 알 수 있 듯 이 어댑터 류 는 인터페이스 와 목표 류 인 터 페 이 스 를 연결 하 는 중간 층 이다.바로 해결 하 는 데 필요 한 목표 가 이미 존재 하지만 우 리 는 직접 사용 할 수 없고 우리 의 코드 정의 와 협동 하여 사용 할 수 없 으 면 어댑터 모델 을 사용 해 야 한다.어댑터 모델 도 전환 모델,포장 모델 이 라 고 한다.

좋은 웹페이지 즐겨찾기