Article
동적 조건 검색을 어떤 계층에 둘지 고민하며 Repository, Service, DTO 경계를 정리했습니다.
검색 조건이 늘어날수록 Controller와 Service가 동시에 복잡해지는 문제가 있었습니다.
동적 조건 조립은 Repository 구현체에 두고, Service는 사용자의 의도를 명확한 query object로 넘깁니다.
검색 조건이 비어 있을 때와 여러 조건이 조합될 때 같은 목록 contract를 유지해야 합니다.
tstype SearchQuery = {
keyword?: string;
tag?: string;
};공개 기술 블로그의 화면별 렌더링 방식을 사용자 경험과 학습 목적 기준으로 비교했습니다.