2017-05-31 1 views
0

Dies ist ein Spring Boot-API-Projekt. Wir haben derzeit ein 3-Phasen-Modell Design und ich wollte wissen, ob das Unternehmen Best Practice ist. Zum Beispiel gemacht, wenn jemand einen GET Anruf für alle Autos dann die API würde:Java-Architektur 3-Tier-Objektdesign

  1. Rufen Sie die DB alle Autos zu bekommen und sie in CarEntity. Dies enthält einige db-Informationen wie Datum hinzugefügt, aktualisierten Datum usw.
  2. Würde die Entität an die Business-Schicht übergeben nach der Konvertierung in ein Car Objekt. Dies streift diese zusätzlichen DB-Informationen ab.
  3. Würde das Objekt Car an das Steuerelement übergeben, das nach der Umwandlung in ein CarDTO Objekt an den Client gesendet werden soll.

Also für 1 allgemeine Art haben wir 3 Objekte: CarEntity, Car, CarDTO. Ist dies die effizienteste und beste Praxis?

Antwort

1

Es hängt wirklich von Ihren Anforderungen und Designanforderungen ab.

Ich entwerfe einfache Web-Anwendungen und benutze generell das gleiche Objekt über alle drei Ebenen (Persistence, Business und Web).

Aber in einigen Fällen würden Sie mehr als eine Klasse benötigen. Wenn Sie beispielsweise eine Klasse für einen fernen Client bereitstellen, ist es sinnvoll, eine neue Klasse zu erstellen, anstatt die Persistenzschichtklasse erneut zu verwenden. In der EE-Welt betonen sie gerne Separation of Concerns und SOLID pricipals. Man könnte also argumentieren, dass mehrere Objekte auf lange Sicht am effizientesten und am besten geeignet sind. Für meinen Gebrauch sind sie im Allgemeinen gewunden und überladen das Projekt. In einigen Fällen sind sie notwendig.