Laden...

Design: Wie Objekte (aus der Datenbank) füllen? (Load-Methoden, DB-Basisklasse, System.Data, ...)

Erstellt von Tachyon176 vor 11 Jahren Letzter Beitrag vor 11 Jahren 608 Views
T
Tachyon176 Themenstarter:in
14 Beiträge seit 2012
vor 11 Jahren
Design: Wie Objekte (aus der Datenbank) füllen? (Load-Methoden, DB-Basisklasse, System.Data, ...)

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

G
497 Beiträge seit 2006
vor 11 Jahren

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.