📌 기본 MVC 구성
1. Model
- 애플리케이션의 핵심 비즈니스 데이터와 로직을 담은 영역
- 도메인 객체 또는 Entity 클래스가 위치
- View
- 사용자에게 데이터를 보여주는 부분 (ex) JSON
- Controller로 받은 데이터를 시각적으로 표현
- Controller
- 사용자에게 요청을 받아서 처리하고, 응답을 반환함
- 주로 Service를 호출해서 비즈니스 로직을 수행
-> 여기까지가 MVC 설계 패턴
but, 스프링과 같은 현대 프레임워크에서는 구조를 더욱 세분화해서 유지보수성과 확장성을 높임.
Service Repository DTO Domain Exception 을 알아볼 것.
- Service
- 비즈니스 로직을 담당
- Controller, Repository 사이의 중간다리 연결
- 트랜잭션 처리, 여러 Repository 조합 호출 등의 로직 수행
- Repository
- DTO
- Data Transfer Object
- 데이터 전달용 객체
- 주로 Controller <-> Service 사이에서 사용
- Domain과 분리해 API 요청/응답용 포맷을 정리함
- Validation 이나 보안 목적에서도 중요
- Domain(또는 Entity)
- 애플리케이션의 핵심 객체
- 불변성, 도메인 규칙을 중심으로 구성
- Exception
- 예외를 세분화해서 정리
- 예외를 명확하게 분리하여 에러메세지 처리와 로깅을 쉽게 함
[Controller]
↓ 요청 전달 / 응답 반환
[Service]
↓ 비즈니스 로직 처리
[Repository]
↓ DB 접근
[Domain]
↔ DB 매핑