~/csslab.dev/notes $ ls

// lab

디자인패턴

  • GoF 패턴을 필요할 때마다 하나씩 정리한 묶음
  • 개념 설명보다 언제 쓰고 무엇을 대가로 치르는가에 초점
  • 패턴 이름을 외우는 것보다, 같은 구조를 실무에서 알아보는 것이 목적

정리한 패턴

  • 프록시 패턴 — 구조 패턴. 원본 앞에 한 겹을 두면 생기는 것들(접근 제어·지연 초기화·캐싱·로깅)
  • 추상팩토리 — 생성 패턴. 팩토리메소드와의 경계는 메소드 레벨 vs 클래스 레벨
  • 책임연쇄 — 행동 패턴. 단계가 계속 늘어나는 흐름을 다루는 구조

묶어서 보면

  • 셋 다 호출부와 구현 사이에 한 겹을 두는 형태 — 프록시는 접근 경로에, 추상팩토리는 생성에, 책임연쇄는 처리 순서에
  • 공통 대가도 비슷함: 간접 계층이 늘어 추적이 어려워짐. 규모가 작으면 과한 구조가 됨