현재 개발하고 있는 서비스의 소설 리스트 조회 기능은 아래와 같다.

3개 조회 종류 모두 아래 4개의 정렬 기준으로 정렬할 수 있다.

또한 페이징 처리는 무한 스크롤을 지원하기 위해 커서 기반으로 구현하였다. 각각의 정렬 기준별 커서 적용 방식은 아래와 같다.

이런식으로 소설의 조회 종류는 3가지가 있고, 정렬 기준도 4가지나 된다. 여기서 초반에 어떤식으로 구현해야 할지 정말 많은 고민을 했다.

일단 가장 간단하게 생각해보면 조회 종류 + 정렬 기준 조합으로 메서드들을 만들수 있겠다.

예를 들어, 아래와 같다.