Hallo,
ich überlege mir gerade, wie ich die Daten vernünftig strukturieren kann, habe aber noch keine zufriedenstellende Lösung gefunden.
Und zwar benötige ich verschiedene Klassen. Customer, Contract,...
Das Problem ist nur, wie ich die daten befülle. Denn einmal habe ich einen Webservice, der die daten z.b. für eine Silverlight anwendung bereitstellt. In der Silverlight Anwendung und evtl. in einer Windows-Anwendung möchte ich diese Klassen natürlich auch weiterbenutzen.
Wenn jetzt aber jedes Objekt sich "selbst befüllt"
z.B. CustomerObj.LoadFromDatabase(DatabaseObj)
dann kann ich diese Klasse in der Form nicht in Silverlight nutzen (System.Data)
Oder ich Leite für jede "Datenquelle" die jeweilige Klasse ab:
z.B. class CustomerDatabase : Customer{
void LoadFromDatabase(...){}
}
Oder lieber eine riesige Klasse, die dafür zuständig ist, die Objekte zu befüllen?
z.B. Customer DataFactory.LoadCustomer(DatabaseObj, CustomerID);
Hat irgendjemand Ideen, Anregungen/Tipps?
Grüße
in fast allen etwas größeren Projekten kommt für sowas ein Objektrelationaler Mapper (Entity Framework, NHibernate) zum Einsatz. Für den Transport zwischen Webservice und Webservice-Client werden üblicherweise Datentransferobjekte eingesetzt, so dass eine Änderung in der Datenbankstruktur nicht zwangsläufig eine Änderung in der Webservice-API bedeutet.