Frage

Ich weiß DTO ist ein Datentransferobjekt und ein BO ist ein Business-Objekt. Aber was bedeutet es eigentlich? Wann sollte ich einen über den anderen wählen? Von, was ich DTO verstehen nur zur Übertragung von Daten verwendet wird und nicht die Business-Logik hat. Bedeutet dies, dass ein DTO hat keine Methode nur Eigenschaften (Getter und Setter)? Aber es hat immer noch Eigenschaften eines BO. Kann jemand bitte erklären? Danke.

War es hilfreich?

Lösung

ist DTO zur Übertragung von Daten zwischen den Schichten / Ebenen verwendet. Zu diesem Zweck braucht es keine methos und manchmal soll es auch keine Methoden - zum Beispiel, wenn DTO über Web-Service ausgesetzt ist.

Business-Objekt ist klug Objekt, das Datum und Methoden, die führen Operationen (Änderungsdaten) zu diesem Objekt enthält. Wenn Sie BO obere Schicht freizulegen, kann es Ihre Aufgabe öffentlichen Methoden aufrufen. Manchmal möchte man das nicht und aus diesem Grund Sie DTO schaffen, die nur über Angebote Daten aber diese Methoden nicht.

DTO muss nicht alle BO-Daten transportieren. Wenn Sie streng DTO Ansatz folgen erstellen Sie bestimmte DTOs für jede Operation auf Ihrer Business-Schicht freigelegt. Zum Beispiel, wenn Ihr Objekt Audit-Daten wie CreatedBy, ModifiedBy, CreatedDate usw. und Sie erstellen Ihre Update-Methode incomming DTO (mit aktualisierten Objekt) braucht nicht diese Eigenschaften haben, weil obere Schicht sich nicht ändern kann - nur Logik kann Geschäft .

Andere Tipps

Im allgemeinen hat DTO relative statische Daten für diesen Moment vor Stufe ankommen, aber BO kann dynamisch Zustand halten und Flagwert fließen; und BO könnte auch sein, in sich geschlossene Validierung oder logisch Reorganisation oder die Entscheidung für einige Business-Logik zu haben; aber DTO ‚s Wechsel auf Stufe hängt‘ s Änderung von Daten, die über vergangen ... Aber BO Änderungen haben breiteren Anwendungsbereich, zum Beispiel abhängig von dynamischer Aktualisierung mit Business-Flow-Zustand, flag ‚s Veränderung, auch die Identität könnte sein, in Echtzeit geändert, nehmen diese von $ 2000 bis $ 5000, dann das Geschäft / Handel Identität oder Status ändert mich von $ 200 zu Null oder Gleichgewicht zum Beispiel wie Balance von BO, zu reflektieren gefangen und gehandelt werden ... das ist großer Unterschied zwischen DTO und BO.

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