컨트롤러 (@Controller)와 JSP/Freemaker등의 view템플릿 영역.
필터 (@Filter), 인터셉터, @Controller Advice 등의 외부 요청 및 응답에 대한 영역.
DTO (Data Transfer Object) 는 계층간에 데이터 교환을 위한 객체를 의미하며, DTOs는 이들의 영역을 의미.
ex) 뷰 템플릿 엔진에서 사용될 객체나, Repository Layer에서 결과로 넘겨준 객체등을 의미.
모든 사람이 동일한 관점에서 이해하고 공유할 수 있도록 도메인 개발대상을 단순화시킨것.
ex) 택시앱 내에서 요금, 호출, 탑승 등이 도메인이라고 불릴 수 있다.
@Entity가 사용된 영역을 Domain Model이라고 볼 수 있다. (단 VO처럼 값 객체도 Domain Model에 속하기 때문에 꼭 DB의 테이블과 관계가 있어야하는것은 아니다.)
따라서 비지니스를 처리해야 하는곳은 Domain Model이다.
참고
- 스프링부트와 AWS로 혼자 구현하는 웹서비스 (책)