2016-06-10 6 views
0

Meine einfache Spring MVC-Anwendung hat die folgenden Stufen: (0) Web Tier mit einfachen JSPs (1) Controller, (2) Service, (3) Repository, (4) Modell. Ich verwende Spring Data JPA für die Repositories. Ich denke über , was der Grund für Datenübertragungsobjekte (DTO) in meinem Szenario ist, da der Client alle Felder der Entitätsklassen benötigt. Es reduziert nur die Leistung und verursacht Entwicklungsaufwand, alles neu zu verpacken.Transferobjekte, Spring MVC, Architektur

Ich weiß, dass (a) DTO hilft die Reihen und (b) die Datenbanktabelle Struktur zu entkoppeln wird vom Client versteckt werden, die aus Sicherheitsgründen sinnvoll sein können. Jedoch scheint (b) in meiner Anwendung kein Problem zu sein, da der Client alle Daten benötigt. Was die Entkopplung der Stufen betrifft, sollte jede Änderung in der Entitätsklasse auch auf den DTO und den Client angewendet werden.

Ich wäre daran interessiert, wie Sie die Entitäten als Modellattribute für den Client anstelle von DTOs bereitstellen. Danke für die Beiträge auch im Voraus.

+1

DTO Hölle zu vermeiden wäre meine Vorliebe, aber alles eine Frage der Meinung. –

+1

Sie können alles in den Modellobjekten konstruieren, die Verwendung von DTOs ist optional. –

+0

Danke für die Kommentare! – Tamas

Antwort

1

Separation of model and view bietet viele Vorteile wie die Freiheit, beides zu ändern, ohne das andere zu beeinflussen. In einigen Fällen, wie bei Ihnen, können Modell und Ansicht natürlich identisch sein.

+1

Zusätzlich zu mehr Code kann es auch zu Duplizierung, Leistungsaufwand und einem anämischen Domänenmodell führen. –