개발노트
Controller / Service / Repository의 역할
Happy._.
2024. 6. 24. 09:41
반응형
Controller
역할
- 사용자 인터페이스와 상호작용
- 사용자의 요청을 처리하고 그에 맞는 응답을 반환
주요 기능
- 클라이언트로부터 HTTP 요청을 수신
- 해당 요청에 대한 비즈니스 로직을 수행하기 위해 Service 계층에 작업 위임
- header의 정보 확인 및 Service에 필요한 데이터 전달
Controller에서 하지 말아야 할 것
- 비즈니스 로직을 Controller에 추가
- DB를 controller에서 조작
- Controller에서 Controller를 호출
Service
역할
- 비즈니스 로직 처리
- 해당 로직을 수행하기 위한 서비스 메서드 제공
주요 기능
- 하나의 비즈니스 기능이나 기능 집합 담당
- 입력된 데이터의 유효성을 검토
- 비즈니스 로직 수행 및 데이터를 가공
- Repository로부터 데이터를 가져와 비즈니스 로직 실행 또는 업데이트
- Transaction, Cache 적용
- Entity의 주요 함수 호출
Service에서 하지 말아야 할 것
- Setter를 지양
- 업데이트 함수를 직접 생성해 사용할 것
- 나중에 어떤 변경사항이 있는지 찾기 어렵기 때문
Repository
역할
- 데이터베이스나 다른 영속성 매체와 상호작용
- 데이터에 접근하는 역할
주요 기능
- 데이터베이스와 통신을 추상화
- 데이터베이스 조작을 위한 메서드 제공
- 데이터베이스에서 데이터를 읽거나 쓰는 작업 처리
- Service 계층에서 필요한 데이터를 조회하거나 업데이트
반응형