typescript factory pattern

YOUNGJOO-YOON·2022년 2월 20일
0

typeScript

목록 보기
54/65
type Shoe = {
    purpose:string;
};

class BalletFlat implements Shoe {
    public purpose = 'dancing';
};

class Boot implements Shoe {
    purpose = 'woodCutting';
};

class Sneaker implements Shoe {
    purpose = 'walking';
};

let Shoe = {
    create(type:'balletFlat'|'boot'|'sneaker'):Shoe{
        switch (type){
            case 'balletFlat': return new BalletFlat;
            case 'boot':return new Boot;
            case 'sneaker':return new Sneaker;
        }
    }
}
const balletShoe = Shoe.create('balletFlat');
console.log(balletShoe.purpose);

호출자는 팩토리가 특정 인터페이스를 만족하는 클래스를 제공할 것이라는 사실만을 알아야 하고, 어떤 구체 클래스가 이 일을 하는지 알지 못해야 한다.

profile
이 블로그의 글은 제 생각을 정리한 글과 인터넷 어딘가에서 배운 것을 정리한 글입니다. 출처는 되도록 남기도록 하겠습니다. 수정 및 건의 오류 등이 있으면 언제든지 댓글 부탁드립니다.

0개의 댓글