표현 영역의 책임
- 사용자가 시스템을 사용할 수 있는 흐름을 제공하고 제어한다.
- 사용자의 요청을 알맞은 응용 서비스에 전달하고 결과를 사용자에게 제공한다.
- 사용자의 세션을 관리한다.
값 검증 (Validation)
- 값 검증은 표현 영역과 응용 서비스 두 곳에서 모두 수행할 수 있다.
- 응용 서비스에서 값 검증을 할 경우 사용자가 불편을 느낄 수 있다.
- 예를 들어 회원가입을 하려고 할때
- 폼에 값을 입력하고 전송하였는데 첫번째 항목부터 차례대로 하나씩 익셉션을 발행시키면 여러번 시도 후 회원가입을 해야한다.
- 이러한 불편함을 해소하려면 응용 서비스에 값을 전달하기 전에 표현 영역에서 검사하면 된다.
- 스프링과 같은 프레임워크는 값 검증을 위한 Validator 인터페이스를 별도로 제공한다.
- 응용 서비스에서는 아이디 중복 여부와 같은 논리적 오류만 검사하면 된다.
- 하지만 응용 서비스를 실행하는 표현 영역이 다양할땐 응용 서비스에서 반드시 파라미터로 전달받은 값이 올바른지 검사해야 한다.
- 표현 영역 : 필수 값, 값의 형식, 범위 등을 검증
- 응용 서비스 : 데이터의 존재 유무와 같은 논리적 오류 검증
권한 검사
- 권한 검사를 하기위해 스프링 시큐리티나 아파치 Shiro 같은 프레임워크는 유연하고 확장 가능하지만 유연한 만큼 복잡하다는것을 의미한다.