Factory Pattern
The factory pattern is one of the creational software design patterns.
Creational: 오브젝트의 생성을 다루는
이점
- 객체 생성 프로세스가 복잡한 상황이나 동일한 속성을 공유하는 여러 객체가 생성되는 상황에서 사용될 수 있습니다.
예제1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18// mavelfactory.ts
export class MavelFactory {
private name: string;
private power: number;
constructor(name: string, power: number) {
this.name = name;
this.power = power;
}
introduce() {
console.log(`Hello, I am ${this.name}.`);
}
}
export function createHero(name: string, power: number) {
return new HeroFactory(name, power);
}
실행1
2
3
4
5
6
7
8// app.ts
import * as mavelfactory from './mavelfactory';
const spiderman = heroFactory.createHero('Peter', 100);
spiderman.introduce();
const ironman = heroFactory.createHero('Stark', 100);
ironman.introduce();