PATTERN ROLE

디자인 패턴은 코드 모양보다 반복 문제의 역할 분리가 먼저다

TypeScript에서는 클래스와 인터페이스로 패턴의 책임 경계를 명확히 드러내야 유지보수성이 올라간다.

생성 패턴

객체를 언제, 어떤 구체 타입으로 만들지 호출 코드에서 분리한다.

구조 패턴

기존 객체들을 더 쓰기 좋은 인터페이스나 조합으로 감싼다.

행위 패턴

상태 변화와 알고리즘 선택 책임을 별도 객체로 나눈다.

적용 기준: 패턴 이름을 먼저 고르기보다 변경 가능성이 어디에 몰리는지 먼저 찾는다.