서버의 처리과정은 대체로 유사하기 때문에, 처리 과정을 크게 Controller,Service,Repository로 분리한다.
Controller
- 클라이언트의 요청을 받는다
- 요청에 대한 로직 처리는 Service에게 전담한다.
- Request 데이터도 같이 전달한다. (DTO이용)
- Service에서 처리 완료한 결과를 Client에게 전달한다.
Service
- 비즈니스 로직을 작성한다. (가장 중요한 부분이라는 것)
Repository
- DB 관리 (연결, 해제, 자원 관리)를 한다.
- CRUD를 구현한다.
정리하자면 다음과 같은 구조를 갖게된다.
Client<->Controller<->Service<->Repository