패턴 선택 기준

패턴 결합 분리

팩토리, 싱글턴, 어댑터, 옵저버, 전략은 서로 다른 변경 압력을 다룹니다. 먼저 어떤 책임이 자주 흔들리는지 확인합니다.

생성 Factory Method

어떤 Product를 만들지가 바뀔 때 Creator 하위 클래스가 생성을 결정하게 합니다.

생성 Singleton

설정, 로거처럼 하나의 인스턴스가 필요할 때 생성자를 막고 getInstance로 접근합니다.

Adapter Adapter

OldPaymentGateway처럼 메서드 모양이 다른 객체를 NewPaymentGateway 계약에 맞춥니다.

행위 Observer

Subject의 상태 변화가 생기면 등록된 Observer가 update로 각각 반응합니다.

행위 Strategy

결제 방식처럼 알고리즘을 실행 시점에 교체해야 할 때 Context가 인터페이스에만 의존합니다.