핵심 요약
여기어때가 전시 동적필터 리팩토링을 통해 페이지 타입별 정책을 전략으로 분리하고, 필터 생성 흐름은 하나의 공통 파이프라인으로 재구성했습니다.
구현 방법
- QuickFilterStrategy를 enum 기반으로 도입하고 정책 판단을 전략에서 담당
- 정책은 Predicate 조합으로 표현하여 페이지 타입별 차이를 내부에 캡슐화
- 생성은 QuickFilterBuilder/Mapper를 통해 공통 파이프라인으로 처리
- 서비스 레이어의 조건문 없이 정책은 전략 내부에서 관리
주요 결과
- 정책 변경이 중앙 집중화되어 유지보수 용이성 향상
- 새로운 페이지 타입 추가 시 정책만 확장 가능, 생성 흐름은 재사용
- Builder/Mapper의 역할 구분으로 코드 이해도 증가
