Je construis un service web pour récupérer une liste d'objets composites. Une sous-propriété complexe de chaque objet de la liste doit-elle être remplie à la fois ou est-ce que le client peut demander cette information si nécessaire?WebService doit avoir des méthodes séparées pour remplir les propriétés dans la classe composite?
Exemple:
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);
Est-ce une mauvaise conception d'avoir une autre méthode WebService comme:
public List<InvoiceLine> GetInvoiceLines(string invoiceNumber)
et nécessitent client d'abord obtenir une liste de toutes les factures enregistrées (avec liste vide de InvoiceLines en eux, et attendent d'eux d'appeler:
invoices[0].InvoiceLines = webService.GetInvoiceLines(customerNumber);
pour simuler une "charge paresseuse".
Cela semble être un bon moyen d'économiser du volume, mais au détriment de plus d'appels pour obtenir des données en cas de besoin. Est-ce que cela en vaut la peine ou est-ce un anti-modèle quelconque?
Il ne semble pas juste de retourner un objet demi-peuplé ...
Merci à l'avance pour tous les pointeurs/liens.
finalement mis en œuvre en tant que: public Liste GetInvoices (string customerNumber, bool LastInvoiceDetailsOnly); –
Leon