>  기사  >  웹 프론트엔드  >  JavaScript 디자인 패턴 시리즈 3: 빌더 패턴

JavaScript 디자인 패턴 시리즈 3: 빌더 패턴

不言
不言원래의
2018-04-02 13:58:421367검색

이 기사에서는 JavaScript 디자인 패턴의 세 번째 시리즈인 빌더 패턴을 공유합니다. 관심 있는 친구는 한 번 살펴보세요.

빌더 패턴

빌더 패턴(빌더 패턴)은 비교적 간단하며 생성 패턴에 속합니다. 하나는 복잡한 객체를 구성을 위해 여러 개의 단순 객체로 분해하고 복잡한 구성 레이어를 프리젠테이션 레이어에서 분리하며 동일한 구성 프로세스로 다른 표현을 생성할 수 있는 빌더 패턴입니다.

장점

  • 빌더 패턴은 캡슐화가 좋으며 객체 자체가 생성 과정에서 분리됩니다.

  • 빌더 모드는 확장이 쉽습니다. 새로운 요구사항이 있는 경우 새 빌더 클래스를 구현하여 이를 수행할 수 있습니다.

적용 가능한 시나리오

생성해야 하는 객체는 복잡한 내부 구조를 가지며 내부 속성 자체는 상호 의존적입니다.


빌더 패턴의 코드 구현

빌더 패턴은 주로 제품 제품 클래스, 빌더 건설 디렉터 클래스, 디렉터 클래스, 고객.

주요 프로세스는 다음과 같습니다.
  1. 고객 요청.

  2. 사령관은 사용자의 요구 사항에 따라 요구 사항의 각 부분을 완료하도록 제작자에게 지시합니다.

  3. 건축가가 해당 부분을 완성합니다.

해당 코드를 살펴보겠습니다.
상품 카테고리는 가공된 공차입니다.

/**
 * 产品类:car 目前需要构建一辆车。
 */

function car () {
    this.name = '',
    this.number = '',
    this.wheel = '',
    this.engine = ''
}

다음으로 builder 클래스를 살펴보세요.

/* 
*    建造者类,里面有专门负责各个部分的工人
*/
function carBuilder () {
    this.nameBuilder = function () {
        this.name = '很厉害的车'
    },
    this.numberBuilder = function () {
        this.number = '88888888'
    },
    this.wheelBuilder = function () {
        this.wheel =  '高级橡胶做的轮子'
    },
    this.engineBuilder = function () {
        this.engine =  '很厉害的引擎'
    },
    this.getCar = function () {
        var Car = new car()
        Car.name = this.name;
        Car.number= this.number;
        Car.wheel = this.wheel;
        Car.engine = this.engine;
        return Car;
    }
}

여기에서 각 부분의 작업자와 작업을 볼 수 있으며, 각 작업이 마침내 자동차로 병합됩니다.

Conductor 클래스:

/**
 *   指挥者类,指挥各个部分的工人工作
 */
function director () {
    this.action = function (builder) {
        builder.nameBuilder();
        builder.numberBuilder();
        builder.wheelBuilder();
        builder.engineBuilder();
    } 
}

마지막으로 사용 방법:

/**
 *    使用方法
 */

var builder = new carBuilder();
var director = new director();
director.action(builder);
var Car = builder.getCar();
console.log(Car);

최종 고객은 getCar 메소드를 통해 자동차를 가져오며 건설 세부 사항을 알 필요가 없습니다.


요약

빌더 패턴은 주로 "복잡한 객체의 분산 구성"에 사용되며 확장이 쉽습니다. 새로운 요구 사항이 있는 경우 새 빌더 클래스를 구현하여 이를 수행할 수 있으며, 빌더 패턴은 객체 자체를 생성 프로세스에서 분리하므로 특정 생성 프로세스에 신경 쓸 필요가 없습니다.

관련 권장 사항:

JavaScript 디자인 패턴 시리즈 1: 팩토리 패턴

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


위 내용은 JavaScript 디자인 패턴 시리즈 3: 빌더 패턴의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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