2012-04-12 9 views
0

Ich habe einen Wcf-Service, der eine Auflistung von Produkten Liste zu zwei verschiedenen ViewModels dient.Wcf Service-Methode Design

  • Ansichtsmodell 1 WCF-Dienst ruft eine Sammlung von Produkten
  • Ansichtsmodell 2 ruft WCF-Dienst finden Sie eine Sammlung von Produkten

Ist es schlechte Praxis Get meine WCF-Dienst Methoden wie diese

lable
  1. Liste MyWCFSerive.GetProductsForViewModel1()

  2. Liste MyWCFSerive.GetProductsForViewModel2()

Gibt es eine bessere Alternative?

Antwort

1

Ja, das wäre eine schlechte Praxis, Sie würden Ihren Dienst mit einer bestimmten Präsentationsimplementierung und -technologie verbinden.

Was passiert, wenn Sie eine Liste von Produkten auf einer MVC-Site über denselben Service wünschen?

Wenn beide Ansichtsmodelle die gleiche Produktsammlung abrufen, sollten sie dieselbe Servicemethode aufrufen. Wenn in jeder Ansicht eine andere Sammlung von Produkten angezeigt wird, sollten die Methoden basierend auf der Unterteilung der Sammlungen benannt werden. Wenn beispielsweise eine andere Filterung angewendet wird, sollte dies durch die Methodennamen impliziert werden.

+0

Haben Sie eine andere bessere Alternative? Ich könnte schließlich diese auf 3 oder 4 verschiedene UI-Schnittstellen erweitern müssen – caa

+0

Wie unterscheidet sich jede Ansicht der Daten? – devdigital

+0

Nun, ich habe ein PriceQuoteViewModel, das nur Live-Preisangebote für sehr wenige Produkte anzeigen kann (im Grunde, weil die Funktionalität noch nicht auf viele Produkte erweitert wurde). Ich habe auch ein zweites ViewModel namens WizardPriberViewModel, mit dem Sie Preise von einem Händler anfordern können, aber sie zeigen keine Live-Preisangebote. – caa