Я создаю веб-сервис для получения списка составных объектов.Если сложное подчиненное свойство каждого объекта в списке заполняется сразу, или это нормально, чтобы клиент запрашивал эту информацию по мере необходимости.
Пример:
class InvoiceLine
{
string ServiceDescription;
decimal ChargeTotal;
}
class Invoice
{
string InvoiceNumber;
string CustomerNumber;
List<InvoiceLine> InvoiceLines;
}
//Returns all invoices send to this customer
public List<Invoice> GetInvoices(string customerNumber);
Это плохой дизайниметь другой метод в WebService как:
public List<InvoiceLine> GetInvoiceLines(string invoiceNumber)
и требовать, чтобы клиент сначала получил список всех сохраненных счетов-фактур (с пустым списком InvoiceLines в них, и ожидал, что они вызовут:
invoices[0].InvoiceLines = webService.GetInvoiceLines(customerNumber);
для имитации "отложенной загрузки".
Это похоже на хороший способ сэкономить на объеме, но за счет большего количества вызовов для получения данных при необходимости. Стоит ли этоэто или это какой-то антипаттерн?
Просто кажется неправильным возвращать наполовину заполненный объект ...
Заранее спасибо за любые указатели / ссылки.