
1. Web Layer
- 흔히 사용하는 컨트롤러(@Controller)와 JSP 등의 View 템플릿 영역
- 외부 요청과 응답에 대한 전반적인 영역 (ex) @Filter, @ControllerAdvice 등
2. Service Layer
- @Service에 사용되는 서비스 영역
- 일반적으로 Controller와 DAO의 중간 영역
- @Transactional이 사용되어야 하는 영역
3. Repository Layer
- DB와 같이 데이터 저장소에 접근하는 영역
- DAO 영역으로 이해
4. DTOs
- DTO(Data Transfer Object)는 계층 간에 데이터 교환을 위한 객체이며, 이를 위한 영역
- View 템플릿 엔진에서 사용될 객체나 Repository Layer에서 결과로 넘겨준 객체 등
5. Domain Model
- 개발 대상(도메인)을 모든 사람이 동일한 관점에서 이해할 수 있고 공유할 수 있도록 단순화시킨 것
- @Entity가 사용된 영역도 도메인 모델이라 이해
- But, DB 테이블과 관계가 있어야만 하는 것은 아님
- VO처럼 값 객체들도 이 영역에 해당
- 비즈니스 처리를 담당해야 할 곳
'⭐ Programming > Backend' 카테고리의 다른 글
| 트랜잭션이란? (0) | 2023.02.14 |
|---|---|
| JPA와 Mybatis 차이 = ORM과 SQL MAPPER 차이 (0) | 2023.02.09 |
| 작업 스케줄러 종류 (0) | 2022.08.04 |
| 관계형 데이터 베이스와 객체 지향 프로그래밍의 패러다임(feat.JPA) (0) | 2022.07.31 |
| Gradle 이란? (0) | 2022.07.18 |