Nehmen wir an, ich baue eine Datenzugriffsschicht für eine Anwendung. Normalerweise habe ich eine Klassendefinition für jede Art von Objekt, das in der Datenbank gespeichert ist. Natürlich ruft der eigentliche Datenzugriff Daten in Form eines Datareaders, eines typisierten oder untypisierten Datensatzes oder Ähnlichem ab, normalerweise mit den Daten, die benötigt werden, um ein Objekt pro Zeile in den Ergebnissen zu erstellen.
Wie würden Sie vorgehen, um Ihre Objektinstanzen in der Datenschicht zu erstellen? Hätten Sie einen Konstruktor, der eine Datenreihe annimmt? Wenn ja, wie würden Sie das typsicher machen? Oder würden Sie Ihren Konstruktor für jedes Feld, das Sie instanziieren wollen, einen Parameter auflisten lassen, auch wenn es viele Felder geben könnte? Würden Sie diesen Konstruktor als "intern" kennzeichnen?