[250711] 리리리팩토링

트라이캐치·2025년 4월 11일

출퇴근미니스터디

목록 보기
5/23
post-thumbnail

✅ 오늘의 핵심 주제

  • 전략 패턴 + 파이프 구조를 활용한 알림(Notification) 처리 구조 설계
  • Enum을 전략 선택 가이드로 활용하는 구조 설계
  • PipeProvider로 핸들러별 파이프 조합을 분리
  • 실제 구현 흐름을 따라가며 타입 문제, 패키지 분리, 책임 분리를 실습

📦 구현 흐름 요약

App
 └─> Noticefication
     └─> NotiHandlerFactory
         └─> 각 Handler (Pre, Transmit, Post)
             └─> PipeProvider에서 파이프 리스트 제공
  • App: 실행 진입점
  • Noticefication: 핸들러로부터 결과를 받아 실행만 수행
  • NotiHandlerFactory: 전략에 맞는 핸들러 조립
  • NotificationType: Enum으로 전략 선택
  • PipeProvider: 파이프 조합 제공
  • EmailPipeProvider: EMAIL용 파이프 제공 (현재 구현 미완)

🧠 티쳐 평가 요약

항목평가코멘트
구조 분리✅ 매우 좋음실행자 / 조립자 / 전략 선택자 역할 명확
Enum 설계✅ 깔끔선택만 담당, 책임이 과도하지 않음
PipeProvider 추상화⚠️ 복잡도 높음제네릭 + 타입 흐름 추적 어려움
구현 완성도⚠️ 미완null 파이프 → 테스트 불가
패키지 구성❌ 혼재됨책임에 맞게 나누는 리팩토링 필요
Noticefication✅ SRP 우수실행 책임만 가짐, 명확하고 단단함

✨ 교훈과 성장 포인트

  • 단순히 OCP 원칙을 지키기보다 변화의 방향을 제어하는 구조가 더 중요함
  • 설계는 개념에서 끝나면 안 되고 구현 중에 드러나는 것들로 완성됨
  • Enum은 "불변 키" 역할, 조합은 외부에서 분리 → 확장성과 유지보수성 향상
  • 타입 안전성과 구조 확장은 상충할 수 있으므로 적절한 절충이 필요

0개의 댓글