12 Stimmen

Wird die Verwendung von Datentransferobjekten in EJB3 als bewährte Praxis angesehen?

Auch wenn offensichtlich nicht alle Szenarien von einem einzigen Design abgedeckt werden können, wird jetzt im Allgemeinen empfohlen, dass ORM-Klassen zwischen der Präsentations- und der Geschäftsschicht (entweder lokal oder remote) hin- und hergeschickt werden, um die Notwendigkeit von Datenübertragungsobjekten zu ersetzen. So weit ich sehen kann, stellt die Verwendung von ORM-Klassen Probleme mit unnötigem eager loading, Kontextverwaltungsproblemen und enger Kopplung dar, spart jedoch auch eine Menge Zeit und hält die Dinge einfach. Gibt es nun einen Standardansatz, der im Allgemeinen einen der beiden favorisiert (für die Mehrheit der Situationen)?

0voto

unixorn Punkte 211

Es wäre in Ordnung, nur mit Entitäten zu arbeiten, wenn der GUI-Controller Objekteigenschaften an die Formulare sendet und nicht Entitätsobjekte. Andererseits, wenn Entitäten verwendet werden und diese Entitäten viele-zu-eins-Beziehungen haben, dann sollte man einige böse Ausnahmen erwarten, wenn die Entitäten nicht sofort vom Entitätsmanager abgerufen werden.

Solche Situationen können beobachtet werden, wenn man zum Beispiel versucht, -Tags von Spring MVC oder ähnliche Konstrukte anderer GUI-Komponenten zu befüllen. Darüber hinaus sind DTOs ein sehr guter Ort, um zusätzliche Annotationen wie Validierungsannotationen oder JAXB usw. zu platzieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X