Frage

Ich bin ein .NET Entwickler meine Hand auf Java versuchen. Mein aktuelles Projekt hat eine UI-Ebene, Geschäftslogikschicht und eine Schicht Data Access. Ich bin derzeit auf der DAL arbeiten.

Ich verbinde nicht an eine externe Datenbank noch; Ich hatte meine DAL-Klassen verwenden In-Memory-Datentabellen gehofft haben, bis die DB vorhanden ist.

In .NET ist es sehr einfach In-Memory-Datentabellen zu machen, von ihnen auswählen, hinzufügen von ihnen zu ihnen und entfernen. Aber in Java, ich war nicht in der Lage, etwas zu finden, die das gleiche tut.

Ich war in Anbetracht der ‚Tables‘ zu ersetzen mit einer Sammlung von stark typisierten Objekten; aber das erfordern würde Verweise auf Geschäftsschicht innerhalb der DAL Zugabe (und ich dachte, dass ein no-no war).

kann jemand helfen ein verwirrter Entwickler aus? Wenn dieser ganze Ansatz fehlerhaft ist, was würden Sie tun? Wenn ich verpasst das Äquivalent einer Datatable in Java - was ist das?

War es hilfreich?

Lösung

Hier ist ein Artikel auf dem Betrieb eine in-Memory-Derby-Datenbank.

Wenn ich wüsste, was für Datenbank und was Persistenz Bibliothek Sie verwenden, könnte ich in der Lage sein, eine genauere Antwort zu geben.

Andere Tipps

Sie könnten eine Memory-Datenbank verwenden, wie beschrieben in diese Antwort .

Ein Vergleich verschiedener Speicherdatenbanken wird in diese Frage SO gezeigt.

  

Ich erwäge die ersetzende   ‚Tables‘ mit einer Sammlung von   stark typisierte Objekte; aber das würde   benötigen Verweise auf Geschäfts Hinzufügen   Schicht im Inneren des DAL (und ich dachte,   Das war ein no-no).

Wer diese Regeln macht?

Wenn Sie Ihre Datenzugriffsschicht für CRUD-Operationen für Modellobjekte zuständig ist, scheint es mir, dass es Verweise auf sie haben hat. Es gibt keinen Weg dran vorbei.

Die Persistenzschicht muss nicht über die Service oder Ansicht Schichten kennen.

Die einzige vollständig entkoppelt Klasse ist ein, dass die Gespräche mit niemandem und Angebote nichts. Es ist sinnlos.

Seien Sie nicht so aufgehängt auf „Regeln“. Sie versuchen, Ihre Anwendung Schicht. Sie setzen alles über Ausdauer in eine Schicht von Klassen.

Ich glaube nicht, In-Memory-Datenbank keine Auswirkungen auf die Art und Weise Sie die Persistenzschicht Design. Sie sollten in einer relationalen Datenbank oder Flat-Datei oder einen anderen Mechanismus, aber die Schnittstelle sollte sich nicht ändern, um Swap-fähig sein. Das ist eine Implementierung Detail.

OR / Ms zur Verfügung standen viel früher in Java als in .NET. Datasets in sind fehlerhaft, dass sie Sie zwingen, prozedural zu programmieren. Versuchen Sie, mit Objekten zu interagieren und später diejenigen, an die DB abbilden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top