>  기사  >  웹 프론트엔드  >  JavaScript 디자인 패턴 7: 데코레이터 패턴

JavaScript 디자인 패턴 7: 데코레이터 패턴

不言
不言원래의
2018-04-02 14:13:151014검색

이 기사에서는 JavaScript 디자인 패턴 7: 데코레이터 패턴을 공유합니다. 관심 있는 친구는

데코레이터 패턴

을 살펴보세요. 데코레이터 패턴은 상속에 대한 보다 유연한 대안을 제공합니다. 데코레이터는 동일한 인터페이스로 개체를 래핑하고 오버로드된 메서드 형태로 새 기능을 추가하는 데 사용됩니다. 이 모드는 특정 목적을 달성하기 위해 데코레이트된 개체 앞이나 뒤에 고유한 동작을 추가할 수 있습니다.
간단한 이해: 객체에 책임을 동적으로 추가하는 방법을 데코레이팅 패턴이라고 합니다.
간단한 예를 들어보세요:

var xiaoming = function () {
  this.run = function () {
    return '跑步'
  },
  this.eat = function () {
    return: '吃饭'
  }
}
// 小明可以跑步,也可以吃饭
// 下面是一个装饰类,给小明进行装饰
var decor = function (xiaoming) {
  this.run = function () {
    return xiaoming.run + '很快'
  }
  this.eat = function () {
    return xiaoming.eat + '很多'
  }
}

는 장식 수업을 통해 Xiao Ming 수업의 장식을 구현합니다.

요약

데코레이터 패턴은 기존 함수에 더 많은 기능을 동적으로 추가하는 방법입니다. 데코레이팅할 각 함수를 별도의 함수에 넣은 다음 이 함수를 사용하여 데코레이션할 기존 함수 개체를 래핑합니다. 특별한 동작을 수행해야 하는 경우 호출 코드는 필요에 따라 장식 함수를 선택적으로 순차적으로 사용하여 개체를 래핑할 수 있습니다. 장점은 클래스(함수)의 핵심 책임과 장식적 기능을 분리한다는 것입니다

관련 추천:

JavaScript 디자인 패턴 시리즈 2: 싱글턴 패턴

JavaScript 디자인 패턴 시리즈 4: 프로토타입 패턴

JavaScript 디자인 패턴 시리즈 6: 브릿지 패턴

위 내용은 JavaScript 디자인 패턴 7: 데코레이터 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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