만드는 책임 숨기기
팩토리는 구체 클래스 선택을 캡슐화하고 호출자는 반환 타입 계약만 사용합니다.
createPayment()
TypeScript에서는 패턴의 의도가 인터페이스, 제네릭, 판별 유니언 같은 타입 계약으로 드러납니다.
팩토리는 구체 클래스 선택을 캡슐화하고 호출자는 반환 타입 계약만 사용합니다.
createPayment()
어댑터는 외부 객체의 메서드를 내부 인터페이스에 맞춰 번역합니다.
전략과 옵저버는 런타임 변경과 이벤트 전파를 타입 안전한 계약으로 묶습니다.
PaymentStrategy
패턴 이름보다 public 메서드와 제네릭 경계가 사용법을 더 정확히 설명합니다.