디자인패턴 - 팩토리

민석·2022년 7월 25일
0

디자인패턴

목록 보기
2/2

팩토리 패턴 ?

상속관계가있는 두 클래스에서 상위클래스는 뼈대 , 하위클래스는 객체생성에 관한 구체적인 내용을 결정하는 패턴

팩토리 패턴 예제

class Wizard {
  constructor() {
    this.skill = 'fire ball';
  }
}

class Warrior {
  constructor() {
    this.skill = 'cut';
  }
}

class WizardFactory {
  static createHero() {
    return new Wizard();
  }
}

class WarriorFactory {
  static createHero() {
    return new Warrior();
  }
}

const factoryList = { WizardFactory, WarriorFactory };

class HeroFactory {
  static createHero(type) {
    const factory = factoryList[type];
    return factory.createHero();
  }
}

const wizard = HeroFactory.createHero('WizardFactory');
const warrior = HeroFactory.createHero('WarriorFactory');

console.log(wizard.skill); // fire ball
console.log(warrior.skill); // cut

팩토리 패턴의 이점

  • 상위 클래스에서는 인스턴스생성방식에대해 알필요가없기때문에 유연성을가질수있다
  • 만약 오류가 나서 수정을 하더라도 한곳만 고치면되니 유지보수성의 증가
profile
안녕하세요 프론트엔드 개발자 양민석입니다.

0개의 댓글