Ich portiere alten VB6-Code (ja ja, VB6 ...) zu C#. Ich reformiere Code, um objektorientierter zu sein, und unter anderem implementiere ich Repository-Klassen, um auf die Datenbank zuzugreifen.OOP/Repository-Muster: zu viele Objekte für verschiedene Teilmengen des Datenbankzugriffs erstellen?
Nun geben diese Repository-Klassen Objekte zurück, keine Datasets. Aber ich finde, dass ich manchmal nur eine Teilmenge der Informationen zurückgebe, die ein Objekt enthalten könnte. Beispiel: Ich kann eine vollständige Liste von Dokumenten mit Namen, Dateipfad, Ordner, Ersteller usw. erhalten - oder ich kann Suchergebnisse für Dokumente erhalten, die nur Namen und Ordner enthalten.
Was ist die beste Vorgehensweise für diese Teilmengen? Sollte ich benutzerdefinierte Objekte für diese Datenbankaufrufe erstellen, die nur die Teilmenge der Daten enthalten? Soll ich die vollständigen Objekte mit nur einigen ihrer Felder zurückgeben? Oder sollte ich nur Datensätze zurückgeben?
Nur ein Gedanke .. Ihre Repositories sollte nie gebe ein 'DataSet' zurück. Sie sollten etwas wie ein Poco zurückgeben. Und der poco sollte der TableStructure entsprechen. Etwas wie ein ORM-Mapper oder EntityFramework könnte helfen – lokusking