스프링부트와 AWS로 혼자 구현하는 웹 서비스 책을 읽으며 프로젝트를 실습하던중, 정리해보면 좋을 부분인것 같아서 정리해보았다.
- Web Layer
- 컨트롤러와 뷰 템플릿 영역
- 외부 요청과 응답에 관한 전반적인 영역
@Filter
, 인터셉터,@ControllerAdvice
등
- Service Layer
@Service
에 사용되는 서비스 영역- 일반적으로 Controller와 Dao의 중간 영역에서 사용
@Transactional
이 사용되어야 하는 영역
- Repository Layer
- DB에 접근하는 영역
- DAO의 영역에 해당
- Dtos
- Data Transfter Object
- 계층간에 데이터 교환을 위한 객체
- Domain Model
- 개발 대상을 모든 사람이 동일한 관점에서 이해할 수 있고, 공유할 수 있도록 단순화 시킨 것.
- 배달 앱이라고 가정하면, 주문, 결제, 배달상태 등이 될 수 있다.
- @Entity가 사용된 영역이 도메인 모델
- 항상 DB 테이블과 관계있는 영역은 아님
- VO처럼 값 객체들도 이 영역에 해당될 수 있음.
- 비즈니스 처리를 담당해야하는 곳이기도 함.