2009-03-05 9 views
0

Ich habe bestimmte Objekte in meiner Domäne, die nicht aggregierte Wurzeln/Entities sind, aber ich muss sie immer noch aus einer Datenbank abrufen. Ich möchte die Dinge nicht durch das Erstellen von Repositories für diese Dinge verwechseln. Was sind alternative Datenzugriffsmuster? Würden Sie einfach ein DAO für sie erstellen, während Sie natürlich die Schnittstelle trennen?Alternative Datenzugriffsmuster zu Repository

Edit:

etwas genauer auf das, was ich tue. Ich muss einen Code erstellen. Dieser Code hat bestimmte Regeln hinsichtlich seines Formats. Eine der Regeln ist, dass das letzte Zeichen eine eindeutige Nummer sein muss, die vom letzten generierten Code um eins erhöht wird. Zum Beispiel:

ABCD1 ABCD2 ABCD3

Also, ich halte eine Tabelle mit einer Zeile, eine Spalte die Zahl in Frage zu speichern. Nun möchte ich diese Zahl nicht als Entität betrachten und dafür ein Repository erstellen - das ist übertrieben. Ich brauche nur eine Möglichkeit, die Nummer abzurufen, 1 hinzuzufügen und sie zu speichern. Ich weiß, dass es unzählige Möglichkeiten gibt, wie ich es tun könnte, aber ich frage mich, ob es einen üblichen Weg gibt.

+0

Hat eine der Antworten geholfen? –

Antwort

0

Nach der Vermessung der Optionen gehe ich mit dem Table Gateway-Muster.

+5

@NG - um Ihre Antwort für diejenigen, die in Zukunft auf die Antwort stoßen, nützlicher zu machen, können Sie eine Zusammenfassung dieses Musters liefern? möglicherweise Link (s) zu Artikeln über dieses Muster? – Maslow

+0

Tabellendaten-Gateway: http://martinfowler.com/eaaCatalog/tableDataGateway.html – aboy021

2

Es gibt mehrere Datenzugriffsmuster, die theoretisch zutreffen könnten. Sie müssen jedoch mehr Details angeben, wenn Sie ein bestimmtes Muster vorschlagen möchten.

Ohne weitere Details, alles, was ich vorschlagen kann, ist in Betracht zu ziehen, in Martin Fowler's Patterns of Enterprise Application Architecture Buch zu suchen.

Edit: Üblicher Weg? Nein, nicht, dass ich es mir vorstellen kann - es hängt wirklich davon ab, wo und wie Sie diesen einzigartigen Code in Ihrer Domain verwenden. Wenn ich dies täte, würde ich wahrscheinlich einen kleinen Dienst erstellen, der direkt mit der Datenbank kommuniziert, um diese Funktion auszuführen - nicht so schwer wie ein Repository und sehr fokussiert auf das Problem.

0

Basierend auf der Bearbeitung: Ich würde zuerst auf den Kontext schauen, in dem Sie diesen Code erstellen müssen. Vielleicht gibt es einige verwandte Entitäten oder etwas, das Sie vermissen.

BTW, ich finde die Frage wirklich interessant, wie es von Zeit zu Zeit beim Codieren bestimmter Funktionen kommt. Normalerweise muss ich feststellen, dass mir etwas am Szenario fehlt, und es passt gut zum normalen Repository-Muster.