<aside> 💡 목차
</aside>
소프트웨어 디자인에서 자주 발생하는 문제들을 해결하기 위한 잘 정립된 해결책 패턴들은 개발 과정을 보다 효율적으로 생성하게 함 코드의 재사용성, 유지보수성, 커뮤니케이션의 효율성을 증가
자주 사용되는 디자인 패턴
class Singleton {
private static instance: Singleton;
private constructor() {
// 생성자는 private으로 선언하여 외부에서 인스턴스를 생성 X
}
public static getInstance(): Singleton {
if (!Singleton.instance) {
Singleton.instance = new Singleton();
}
return Singleton.instance;
}
}
interface Product {
operate(): void;
}
class ConcreteProductA implements Product {
operate() {
console.log('Product A is operating');
}
}
class ConcreteProductB implements Product {
operate() {
console.log('Product B is operating');
}
}
class Factory {
public static createProduct(type: 'A' | 'B'): Product {
if (type === 'A') {
return new ConcreteProductA();
} else {
return new ConcreteProductB();
}
}
}
design-pattern, factory-pattern, singleton-pattern, typescript, 디자인패턴, 싱글톤패턴, 타입스크립트, 팩토리패턴