패턴 선택 기준

디자인 패턴은 반복되는 협력 문제를 고르는 기준이다

싱글톤, 팩토리, 옵저버, 모듈은 이름 목록이 아니라 반복되는 책임을 어디서 끊을지 판단하는 도구다.

먼저 보는 순서

01

반복 문제

같은 생성, 공유, 알림 코드가 여러 곳에서 반복되는지 본다.

02

협력 의도

하나로 묶을지, 만들기를 숨길지, 변화를 전파할지 정한다.

03

책임 경계

바뀌는 책임과 감춰야 할 책임을 다른 자리로 분리한다.

04

단순성

패턴을 붙인 뒤 코드가 더 읽기 쉬워졌는지 다시 확인한다.

문제 신호 → 패턴 후보

공유 인스턴스

설정, 로거처럼 하나만 있어야 한다.

Singleton
생성 분기

타입별 생성 조건이 계속 늘어난다.

Factory
변경 알림

한 변화가 여러 처리로 퍼져야 한다.

Observer
공개 범위

내부 상태는 숨기고 API만 내보낸다.

Module
남용 신호

한 번 쓰고 끝나는 코드에 구조만 커질 때

점검

테스트와 호출부가 오히려 복잡해질 때

유지

패턴 이름보다 책임 경계가 먼저 보일 때

적용

반복을 줄이고 변경 지점을 좁힐 때

핵심

패턴을 먼저 외우지 말고, 반복되는 협력 모양을 찾은 뒤 가장 작은 책임 분리로 해결한다.