js 장식 디자인 모델 학습 소감
모든 설정 은 독특한 응용 장면 과 문 제 를 해결 하 는 방식 이 있다.장식 디자인 모델 은 동태 적 으로 대상 에 게 새로운 기능 을 추가 하고 계승 을 대체 하 는 기술 로 계승 을 통 해 서브 클래스 를 추가 하지 않 아 도 대상 을 확장 할 수 있 는 새로운 기능 이다.대상 의 관련 관 계 를 사용 하여 계승 관 계 를 대체 하고 더욱 유연 하 며 유형 체계의 빠 른 팽창 을 피 할 수 있 습 니 다.이런 모델 은 새로 추 가 된 기능 이 계승 을 대가 로 문 제 를 해결 할 수 없 을 때 사용-닭 을 잡 을 때 소 잡 는 칼 을 사용 합 니까^ ^
장식 디자인 모델:동태 적 으로 한 대상 에 게 추가 적 인 직책 을 추가 하고 한 대상 의 기능 을 확장 하려 면 장식 자 는 계승 보다 더욱 탄력 적 인 대체 방안 을 제공 합 니 다.
구성 도:
인터페이스
var Bicycle = new Interface('Bicycle', ['assemble', 'wash', 'repair', 'getPrice']);
대상 클래스
var AcmeComfortCuiser = function(){
};
AcmeComfortCuiser.prototype = {
assemble: function(){
},
wash: function(){
},
repair: function(){
},
getPrice: function(){
}
}
장식 류
var BicycleDecorator = function(bicycle){
Interface.ensureImplements(bicycle, Bicycle);
this.bicycle = bicycle;
};
BicycleDecorator.prototype = {
assemble: function(){
return this.bicycle.assemble();
},
wash: function(){
return this.bicycle.wash();
},
repair: function(){
return this.bicycle.repair();
},
getPrice: function(){
return this.bicycle.getPrice();
}
}
확장 류
var HeadlightDecorator = function(bicycle){
BicycleDecorator.call(this, bicycle);
};
extend(HeadlightDecorator, BicycleDecorator);
HeadlightDecorator.prototype.getPrice = function(){
return this.bicycle.getPrice() + 15.00;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[2022.04.19] 자바스크립트 this - 생성자 함수와 이벤트리스너에서의 this18일에 this에 대해 공부하면서 적었던 일반적인 함수나 객체에서의 this가 아닌 오늘은 이벤트리스너와 생성자 함수 안에서의 this를 살펴보기로 했다. new 키워드를 붙여 함수를 생성자로 사용할 때 this는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.