Was ist ein DTO und BO? Was ist der Unterschied?
Ich weiß DTO data transfer object und BO ist ein business-Objekt. Aber, was bedeutet es eigentlich? Wenn soll ich wählen einen über den anderen?
Aus dem, was ich verstehe, DTO nur verwendet, um Daten zu übertragen und nicht business-Logik. Bedeutet das, dass ein DTO hat noch keine Methode, die nur die Eigenschaften(getter-und setter -)? Aber, es hat immer noch die Eigenschaften eines BO. Kann mir bitte jemand erklären? Danke.
Weizen: ich habe bereits gesagt, was ich weiß. Ich komme auf stackoverflow nicht, weil ich nicht finden können, Antworten auf das internet. Ich komme hier becaused es gibt Experten, die wirklich das Thema verstehen und beantworten Sie die Fragen in einer einfachen und klaren Art und Weise. Können Sie BITTE lassen Sie mich (und andere) wissen, warum Sie diese Frage gestellt?
Ich stellte die Frage, weil wenn ich eine internet-Suche für diese Begriffe, ich bekomme die richtigen Antworten.
Weizen: das ist wahr, für die meisten Fragen auf, SO oder Verwandte stack exchange Seiten. Finden Sie eine Antwort auf einige blog oder ein forum. Es das das erste mal SO, dass jemand hat eine Frage gestellt, die nicht durchsucht werden, auf der internet?
Ich sehe das SO, dass einige Mitglieder mit hohen rep. immer gerne humilate und Fahrt Mitglieder mit niedrigen rep.
es ist wahr, für diese Frage.
Ich stellte die Frage, weil wenn ich eine internet-Suche für diese Begriffe, ich bekomme die richtigen Antworten.
Weizen: das ist wahr, für die meisten Fragen auf, SO oder Verwandte stack exchange Seiten. Finden Sie eine Antwort auf einige blog oder ein forum. Es das das erste mal SO, dass jemand hat eine Frage gestellt, die nicht durchsucht werden, auf der internet?
Ich sehe das SO, dass einige Mitglieder mit hohen rep. immer gerne humilate und Fahrt Mitglieder mit niedrigen rep.
es ist wahr, für diese Frage.
InformationsquelleAutor Sandbox | 2011-01-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
DTO dient zur übertragung von Daten zwischen Schichten/Ebenen. Für diesen Zweck spielt es keine methos und manchmal ist es sogar nicht sollte jeder Methoden - zum Beispiel, wenn die DTO ist ausgesetzt über web-service.
Business-Objekt ist clever-Objekt enthält Daten und Methoden, die führt Operationen (ändern von Daten) auf dieses Objekt. Wenn Sie setzen Sie BO auf der oberen Ebene, die Sie aufrufen können Ihr Objekt die öffentlichen Methoden. Manchmal wollen Sie nicht, diese und für, dass Grund Sie erstellen DTO-das bietet nur die Daten, aber nicht die Methoden.
DTO nicht transportieren müssen alle BO-Daten. Wenn Sie Folgen strengen DTO-Ansatz Sie erstellen spezifische DTOs für jede operation ausgesetzt, die auf Ihre business-Schicht. Zum Beispiel, wenn das Objekt von audit-Daten wie CreatedBy, ModifiedBy, CreatedDate, etc. und erstellen Sie Update-Methode, die Ihr incomming DTO (mit aktualisierten Objekt) braucht nicht auf diese Eigenschaften, weil die Obere Schicht nicht geändert - nur die business Logik.
Kein DTO ist das Allgemeine Konzept, die verwendet werden können, zwischen allen Ebenen. Die häufigste Verwendung von DTOs ist zwischen Präsentations-und Business-Schicht. Ein weiterer häufiger Verwendungszweck ist zwischen Ebenen (physikalische Grenze).
Ich sehe, Sie verstehen .net (aus Ihren vorherigen Antworten). Also, wenn ich mit MVVM-pattern in WPF mit einer 3-tier-Architektur, dann sind meine VMs DTO? oder werde ich VM nur für die Anzeige und Nutzung DTO zur übertragung von Daten von VM-zu-Modell und Modell-zu meinem service?
Ich habe noch nie verwendet, WPF oder MVVM, so kann ich vermutlich beantworten. Aber wenn man mit DTO-es muss irgendwo definiert sein und gemeinsam zwischen den beiden Schichten. Wenn VM hat einige WPF-Abhängigkeit (wie Besondere Eigenschaften von WPF-Assemblys oder Besondere Eigenschaft, - Implementierung für data binding) wollen Sie diese Abhängigkeit in Ihrer DTOs?
InformationsquelleAutor Ladislav Mrnka
In der Regel, DTO hat relativ statische Daten, die für einen moment, bevor Sie ankommen tier, aber BO kann dynamisch halten Staat und flow-flag-Wert; und BO könnte auch selbst auf die Validierung haben oder logisch Reorganisation oder die Entscheidung für einige business-Logik; aber DTO 's ändern, hängt davon ab tier 's ändern von Daten, die übergeben... Aber BO' s verpasst hat größeren Umfang, zum Beispiel , hängt davon ab, mehr dynamisch aktualisiert und business-flow-Zustand, flag 's ändern, auch die Identität kann geändert werden, in Echtzeit , diese angenommen werden erfasst und gehandelt zu reflektieren, aus BO, zum Beispiel, wie balance von $200 werden, null werden , oder die balance von $2000 bis $5000, dann der deal/trade Identität oder status ändern wird ... dies ist der große Unterschied zwischen DTO und BO .
InformationsquelleAutor user3016087