TypeScript 디자인 패턴 선택 기준
팩토리, 싱글턴, 어댑터, 옵저버, 전략은 서로 다른 변경 압력을 다룹니다. 먼저 어떤 책임이 자주 흔들리는지 확인합니다.
Factory Method
어떤 Product를 만들지 가 바뀔 때 Creator 하위 클래스가 생성을 결정하게 합니다.
Singleton
설정, 로거처럼 하나의 인스턴스 가 필요할 때 생성자를 막고 getInstance로 접근합니다.
Adapter
OldPaymentGateway처럼 메서드 모양이 다른 객체 를 NewPaymentGateway 계약에 맞춥니다.
Observer
Subject의 상태 변화가 생기면 등록된 Observer 가 update로 각각 반응합니다.
Strategy
결제 방식처럼 알고리즘을 실행 시점에 교체 해야 할 때 Context가 인터페이스에만 의존합니다.
핵심TypeScript 디자인 패턴 선택 기준은 각 요소의 관계와 선택 조건을 함께 읽어야 한다.