controller → service → repository → domain
controller 패키지
클라이언트의 HTTP 요청을 받고 응답하는 역할을 한다.
service 패키지
실제 비즈니스 로직을 처리하는 역할을 한다.
controller로부터 넘어온 요청을 처리하고,
DB 처리가 필요할 경우 repository를 주입받아 호출하며,
그게 아니라면 자체적으로 로직을 처리해서 반환하게 된다.
repository 패키지
DB와 통신을 담당하는 역할을 한다.
service에서 넘어온 요청에 따라 DB에 데이터를 저장하거나 조회하는 작업을 한다.
domain 패키지
DB 테이블과 직접 매핑되는 클래스가 존재한다.
파이썬의 model과 비슷한 역할을 한다.
간단한 비즈니스 로직을 처리하기도 한다.
보통은 데이터를 표현하는 역할에 집중한다.