Если у вас есть Заказ, который ссылается на покупателя, включает ли модель идентификатор покупателя или копию объекта покупателя, например объекта значения (с учетом DDD)?
Я хотел бы сделать это:
public class Order {
public int ID {get;set;}
public Customer customer {get;set;}
...
}
сейчас я делаю это:
public class Order {
public int ID {get;set;}
public int customerID {get;set;}
...
}
Было бы удобнее включить полный объект клиента, а не идентификатор для модели представления, переданный в форму. В противном случае мне нужно выяснить, как получить информацию о поставщике для представления, на которое указывает заказ по идентификатору.
Это также означает, что хранилище понимает, как обращаться с объектом заказчика, который он находит в объекте заказа, когда они вызывают save (если мы выберем первый вариант). Если мы выберем второй вариант, нам нужно будет знать, где в модели представления его разместить.
Уверен, они выберут существующего клиента. Тем не менее, они также могут изменить информацию на месте в форме отображения. Можно утверждать, что контроллер извлекает объект клиента, передает изменения клиента отдельно в хранилище, а затем передает изменения в заказ, сохраняя идентификатор клиента в заказе.