본문 바로가기

클라이언트/JavaScript
[자바스크립트(JavaScript)] Builder 패턴

// Builder 패턴

- 복잡한 객체의 생성 과정을 단순화하는 디자인 패턴

- 가독성, 유지보수성을 높일 수 있다.

- 객체가 여러 개의 매개변수를 가질 때 주로 사용한다.(3개 이상)

- 단계

  1. Builder 인터페이스를 정의하여 매개변수를 받아 정의한다.
  2. Builder 인터페이스를 구현하는 상세 클래스를 정의한다.
  3. 상세 클래스가 필요한 부분에서 Builder 인터페이스를 사용하여 객체를 생성한다.

- Builder  인터페이스, 구현 클래스

export class playBuilder {
  duration(duration) {
    this.duration = duration;
    return this;
  }

  character(character) {
    this.character = character;
    return this;
  }

  character(theme) {
    this.theme = theme;
    return this;
  }

  build() {
    return new Play(this.duration, this.character, this.theme);
  }
}


class Play {
  constructor(duration, character, theme) {
    this.gameDuration = duration;
    this.carrotCount = character;
    this.theme = theme;
  }
  
  //구현
}

// 객체 생성 및 활용

import { PlayBuilder } from '경로';

const PLAY_DURATION_SEC = 10;
const CHARACTER = 'rabbit';
const THEME = 'theatre';

.....

const game = new PlayBuilder().duration(PLAY_DURATION_SEC).character(CHARACTER).theme(THEME).build();
game.start();