더북(TheBook)

Reservation 클래스가 예약에 대한 비즈니스 규칙을 어떻게 잘 캡슐화할 수 있을까요? 현재로서는 별 내용이 없지만, 가장 중요한 차이점은 DTO와 달리 도메인 객체는 네 가지 구성값이 모두 있어야 한다는 것입니다24. 또한, DateDateTime으로 선언되어 임의의 문자열이 아닌 적절한 날짜 값이 들어가야 함을 보장하고 있습니다. 어떤 방식으로 추상화될지 아직 확신이 들지 않으면 5.3절이나 7.2.5절에서 조금 더 설득력 있게 수정한 Reservation을 참고하세요.

Reservation이 값 객체(Value Object)25처럼 보이는 이유는 무엇일까요? 다양한 이점이 있고, 테스트 역시 더 쉽게 만들 수 있기 때문입니다[104]. 도메인 모델에는 되도록이면 값 객체를 사용하세요[26].

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.