js 디자인 모드(7)---장식자 모드

2656 단어 장식자 모드
선언
오후에 일하는 효율이 매우 낮고 풀이 죽어서 머리 전체가 풀과 같다. 시간이 조금씩 흐르는 것을 보면 마음속으로 어쩔 수 없다. 아이고, 우리의 열정이 이렇게 쉽게 꺼질까?
1. 이 모드의 사용 상황
만약에 우리가 대상에게 기능을 추가하고 싶지만 원래의 대상을 수정하고 싶지 않거나 계승을 통해 실현하고 싶지 않다면 장식자 모델로 어려운 문제를 해결해 드리겠습니다.
2. 조합 모드와의 공통점
마찬가지로 포장된 대상과 통일된 인터페이스를 실현하고 그 어떠한 방법도 이 대상에게 호출하여 전달해야 한다.
서로 다르다. 조합 모델은 여러 개의 대상을 하나의 전체로 조직하여 차원의 나무 구조를 형성한다.장식자 모델은 기존 대상을 수정하지 않거나 파생아류를 파견하는 전제에서 이를 추가하는 방법에 사용된다.
3. 사례 설명:
// ( )
function Macbook() {
    this.cost = function () {
        return 1000;
    };
}

function Memory(macbook) {
    this.cost = function () {
        return macbook.cost() + 75;
    };
}

function BlurayDrive(macbook) {
    this.cost = function () {
        return macbook.cost() + 300;
    };
}


function Insurance(macbook) {
    this.cost = function () {
        return macbook.cost() + 250;
    };
}


//  
var myMacbook = new Insurance(new BlurayDrive(new Memory(new Macbook())));
console.log(myMacbook.cost());

 4.개인적 이해
    1.만약에 클래스에 기능을 추가해야 하지만 코드를 수정하고 계승을 통해 실현하고 싶지 않으면 장식자 모드를 사용할 수 있다.
    2.장식자 모델의 목적은 방법의 수정에 있다.

좋은 웹페이지 즐겨찾기