패턴 지도

패턴은 이름보다 문제의 종류로 선택한다

팩토리, 싱글턴, 어댑터, 옵저버, 전략은 서로 다른 설계 압력을 다루며 TypeScript의 인터페이스로 경계를 선명하게 만들 수 있습니다.

생성 패턴

객체 생성 주체

생성 방식이 클라이언트 코드에 새어 나오지 않도록 책임을 옮깁니다.

Factory Method 서브클래스가 Product 생성을 결정합니다.
Singleton 전역 설정처럼 하나의 인스턴스만 허용합니다.
구조 패턴

연결 방식

이미 존재하는 객체를 클라이언트가 기대하는 모양으로 감쌉니다.

Adapter OldPaymentGateway를 NewPaymentGateway 계약에 맞춥니다.
Wrapper 기존 구현은 두고 호출 모양만 변환합니다.
행위 패턴

행위 패턴의 알림·전략 위임 기준

상태 변화 알림이나 알고리즘 교체처럼 실행 중 행동을 분리합니다.

Observer Subject 상태 변경을 등록된 Observer에게 알립니다.
Strategy PaymentStrategy 구현을 런타임에 바꿉니다.
패턴 선택 기준

객체 생성이 문제면 생성 패턴, 인터페이스 호환이 문제면 구조 패턴, 실행 중 행동 변화가 문제면 행위 패턴을 먼저 검토합니다.