항해

controller service repository

갈매끼 2022. 5. 21. 09:56

서버에서의 처리 과정을 크게 3개로 분리함
=> Controller, Service, Repository

Controller

  • 클라이언트의 요청을 받음
  • 요청에 대한 처리는 서비스에게 전담
  • 클라이언트에게 응답

Service

  • 사용자의 요구사항 처리
  • DB 정보가 필요할 때는 Repository에게 전담

Repository

  • DB 관리(연결, 해제, 자원 관리)
  • DB CRUD 작업 처리

Controller와 Service를 구분하는 이유


중복되는 코드가 생기기 때문이다. 비즈니스 로직 코드가 컨트롤러에 구현되어 있는 경우 다른 컨트롤러의 핸들러 메소드에서 똑같은 로직 코드를 구현해야 하므로 중복코드가 발생하고 재사용성이 줄어든다.
결론적으로, controller와 service를 구분하면 확장성과 재사용성이 좋아지고 중복코드를 제거할 수 있다는 장점이 있다.

 

예)