// Builder 패턴
- 복잡한 객체의 생성 과정을 단순화하는 디자인 패턴
- 가독성, 유지보수성을 높일 수 있다.
- 객체가 여러 개의 매개변수를 가질 때 주로 사용한다.(3개 이상)
- 단계
- Builder 인터페이스를 정의하여 매개변수를 받아 정의한다.
- Builder 인터페이스를 구현하는 상세 클래스를 정의한다.
- 상세 클래스가 필요한 부분에서 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();
'클라이언트 > JavaScript' 카테고리의 다른 글
[자바스크립트(JavaScript)] 특정 범위에서 약수의 개수 구하기(에라토스테네스의 체) (0) | 2024.01.11 |
---|---|
[자바스크립트(JavaScript)] 특정 범위에서 소수 구하기(에라토스테네스의 체) (0) | 2024.01.10 |
[자바스크립트(JavaScript)] Audio (0) | 2023.12.16 |
[자바스크립트(JavaScript)] 정규식 (Test, Match) (0) | 2023.12.15 |
[자바스크립트(JavaScript)] 변수 (const vs let vs var) (0) | 2023.12.14 |