Pattern Selection

결합도를 줄이는 디자인 패턴 선택

싱글톤, 팩토리, 옵저버, 모듈 패턴은 서로 다른 문제를 다룹니다. 먼저 변경 지점과 의존 방향을 확인해야 합니다.

Singleton

하나만 있어야 함

설정, 로거처럼 공유 인스턴스가 필요하지만 전역 상태 위험을 관리해야 한다.

Factory

생성 분기 감춤

타입별 객체 생성 조건이 늘어날 때 클라이언트 코드를 단순하게 둔다.

Observer

변경 알림 분리

이벤트가 여러 수신자에게 퍼질 때 발행자와 처리자를 느슨하게 묶는다.

Module

공개 API 제한

내부 상태를 숨기고 필요한 함수만 내보내 전역 오염을 줄인다.

반복되는 문제인가한 번 쓰는 코드에 큰 구조를 얹으면 오히려 읽기 어렵다.
변경 축이 분명한가생성, 통지, 캡슐화 중 어떤 변화가 잦은지 먼저 고른다.
테스트가 쉬워지는가패턴 적용 후 의존성 주입과 대체 객체가 쉬워져야 한다.

패턴 적용 기준은 코드 양을 늘리는 일이 아니라, 다음 변경에서 건드려야 할 위치를 예측 가능하게 만드는 일입니다.