“데이터 전송 객체(DTO)는 우리 어머니가 절대 작성하지 말라고 한 객체 중 하나입니다.”[33]
반면에 Reservation 클래스의 목적은 예약에 적용되는 비즈니스 규칙을 캡슐화하는 것으로, 코드에서 도메인 모델[33][26]의 일부분이라고 할 수 있습니다. 예제 4-12가 초기 버전입니다. 예제 4-11보다 조금 더 복합적으로 보이지만23 실제로는 그렇지 않습니다. 구성 요소의 수는 완전히 똑같습니다.
예제 4-12 Reservation 클래스. 도메인 모델의 일부입니다.
(Restaurant/bc1079a/Restaurant.RestApi/Reservation.cs)
public sealed class Reservation
{
public Reservation(
DateTime at,
string email,
string name,
int quantity)
{
At = at;
Email = email;
Name = name;
Quantity = quantity;
}