게시글 조회 기능 설계 - ttasjwi/board-system GitHub Wiki
의존성 방향
- 게시글 조회는 서비스에서 제일 자주 사용되는 기능이다.
- 게시글 조회시 다음 정보들을 같이 조회해야한다.
- 그런데 개념 맥락에서 보면 게시글이 위의 정보를 알게 되는 것은 맥락의 순환참조를 의미한다.
- 좋아요 모듈에서 게시글 정보를 알고 있다.
- 게시글도 좋아요 정보를 알게 된다면 두 기능, 개념은 서로 강하게 결합되는 것이다.
- 그래서 '게시글 조회' 모듈을 별도로 새로 만든다. '게시글 조회' 모듈은 다음 개념들을 의존한다.
- 게시글
- 게시글 좋아요/싫어요
- 게시글 댓글
- 게시글 조회수
- 이렇게 하면 개념의 순환참조를 막을 수 있다.
게시글 목록 조회 설계 요구사항
- 각 게시판 별로, 게시글을 최신순으로 조회해야한다.
- 게시판(boardId) 마다, 게시글 Id(articleId) 는 역순으로 조회되어야한다.
- 조회 성능 향상을 위해 인덱스가 필요하다. 인덱스가 왜 필요한 지, 인덱스를 추가했을 때 얼마나 성능이 향상되는 지에 대해서는 별도의 성능 테스트 글에서 다룬다.