개념 | Controller, Service, Repository 구조 분리하기

728x90

🏓 Controller, Service, Repository 구조 분리하기 

  • Controller에서 모든 기능을 구현하면 안 되는 이유는 생산성이 낮아지고→유지보수성이 매우 떨어진다.
  • 함수는 최대한 작게 만들고 한 가지 일만 수행하는 것이 좋다.
  • 클래스는 작아야 하며 하나의 책임만을 가져야 한다.

구조를 Controller-Service-Repository 3가지 구조로 분리하고 각 클래스에 위치한 메소드는 한 가지 역할에 집중하도록 해야 한다.

🟦 Controller 클래스 | @RestController

  • API 진입 지점으로서 HTTP Body를 객체로 변환해주고 뷰와 소통하는 부분

🟦 Service 클래스 | @Service

  • 실질적인 비즈니스 로직 구현하는 곳

🟦 Repository 클래스 | @Repository

  • DB에 직접적으로 접근하는 곳
728x90