1. 컨트롤러 (표현계층)
2. 서비스 (비즈니스로직)
3. 엔티티 (핵심 도메인)
세부분 다 있으면 좋음
1. 컨트롤러 계층
- 빠른 사용자 피드밸
- 간단 검증을 분리
- 누락 가능성 작음 (입력값마다 검증하므로)
->> 다른 컨트롤러 계층에서 서비스를 호출할때 해당 컨트롤러에 동일 혹은 비슷한 검증을 중복적으로 발생.
-
2. 비즈니스 계층
-> 필수 -> 다른 클라이언트들에게 호출될 것도 고려 가능
- 컨트롤러계층과 도메인핵심검증을 흡수 할 수 잇으나 - 검증이 너무 길어질 경우 핵심 검증, 핵심 로직에 대한 가독성이 많이 안좋아짐
- 누락에 대한 가능성이 존재 (의식적인 검증)
--> 팀내에서 프레젠테이션 검증 대신 서비스 메서드의
인자를 valid로 검증하고
-> 핵심 검증 로직응 서비스 밸리데이샨 빈을
주입하여 대응하기로 함
3. 엔티티 생성자 -> 모든 상황을 검증할 수 없음. 엔티티에서 notnull인데 특정 기능은 그 값이 반드시 필요한 경우가 생김 -> 중복, 누락 있어서 있으면 좋지만 필수은 아닐수 있다 (김영한)
'미완성' 카테고리의 다른 글
추상클래스 - 어디까지 알아보고 오셨어요..? (인터페이스 및 유틸리티 클래스와 비교) (0) | 2024.01.25 |
---|