DTO- und DAO-Konzepte und MVC [closed]

Lesezeit: 3 Minuten

Benutzer-Avatar
Kapuzenpulli

1) Warum verwenden wir DTO und DAO, und wann sollten wir sie verwenden. Ich entwickle eine GUI Java-Software zum Einfügen, Bearbeiten und Löschen von Daten. Aber es fällt mir schwer, zu unterscheiden DTO/DAO und Model, View, Controller (MVC) Struktur? Sind sie ähnlich, was bei der Interaktion mit der Datenbank über Java besser zu verwenden ist GUI.

2) Eine Sache, auf die ich wirklich neugierig bin, ist, ob es eine gute Praxis ist, sie zu haben view und Controller in einer Klasse. Wenn wir darüber nachdenken Netbeanskönnen Sie erstellen GUI Frame-Klasse und fügen Sie Komponenten hinzu wie JButton Klicken Sie auf den Rahmen, doppelklicken Sie auf die Schaltfläche, um zum Fenster zu gelangen actionListener Methode (Controller), die in dem Frame zu sein scheint, in dem die Daten dem Benutzer angezeigt werden sollen (View). Sie sind also in der gleichen Klasse. Geht das dann komplett gegen das Konzept oder nicht?

Hier ist, wovon ich spreche

schlechte Praxis View und Controller in einer Klasse zu haben?

  • @RomanC hat eine Datenbanktabelle, die Ereignisse enthält (eventId,name,date.etc), also DTO und MVC, gleich oder unterschiedlich?

    – Kapuzenpulli

    16. Januar 2013 um 19:24 Uhr

  • Bei der Datenbank haben Sie kein DTO, sondern Datenbankobjekte.

    – Roman C

    16. Januar 2013 um 19:27 Uhr

  • @RomanC in den Java-Klassen Entschuldigung, verwenden Sie die DTO/DAO-Struktur oder sollten Sie MVC verwenden? Was ist der Unterschied

    – Kapuzenpulli

    16. Januar 2013 um 19:29 Uhr

  • lesen Dies und das prüfen Sie den Unterschied

    – Roman C

    16. Januar 2013 um 19:32 Uhr

  • hast du beim zweiten def etwas über die Datenbank gelesen?

    – Roman C

    16. Januar 2013 um 19:35 Uhr

Benutzer-Avatar
Petr

DTO ist eine Abkürzung für Datenübertragungsobjektwird also verwendet, um die Daten zwischen Klassen und Modulen Ihrer Anwendung zu übertragen.

  • DTO sollte nur private Felder für Ihre Daten, Getter, Setter und Konstruktoren enthalten.
  • DTO Es wird nicht empfohlen, solchen Klassen Geschäftslogikmethoden hinzuzufügen, aber es ist in Ordnung, einige util-Methoden hinzuzufügen.

DAO ist eine Abkürzung für Datenzugriffsobjektalso sollte es die Logik zum Abrufen, Speichern und Aktualisieren von Daten in Ihrem Datenspeicher (einer Datenbank, einem Dateisystem, was auch immer) kapseln.

Hier ist ein Beispiel dafür, wie die DAO- und DTO-Schnittstellen aussehen würden:

interface PersonDTO {
    String getName();
    void setName(String name);
    //.....
}

interface PersonDAO {
    PersonDTO findById(long id);
    void save(PersonDTO person);
    //.....
}

Das MVC ist ein breiteres Muster. Das DTO/DAO wäre Ihr Modell im MVC-Muster.
Es sagt Ihnen, wie Sie die gesamte Anwendung organisieren, nicht nur den Teil, der für den Datenabruf verantwortlich ist.

Was die zweite Frage angeht, wenn Sie eine kleine Anwendung haben, ist es völlig in Ordnung, wenn Sie jedoch dem MVC-Muster folgen möchten, wäre dies der Fall Besser ein separates Steuergerätdie die Geschäftslogik für Ihren Frame in einer separaten Klasse enthalten und Nachrichten von den Ereignishandlern an diesen Controller senden würde.
Dies würde Ihre Geschäftslogik von der Ansicht trennen.

  • Wahrscheinlich habe ich die Frage falsch verstanden.

    – Petr

    16. Januar 2013 um 19:50 Uhr

  • Ich bin mir nicht sicher, was Sie mit “separatem Controller” meinen. Aus meinen Messwerten sollte der Controller in MVC so dünn wie möglich sein und Ihre Geschäftslogik sollte in Ihren Modellen gekapselt sein.

    – Paul Carlton

    8. November 2016 um 1:03 Uhr

  • Die Verwendung von DTOs als Schnittstelle zum Objektmodell ist eine schreckliche Praxis. void save(PersonDTO person) ist reiner Krebs.

    – Ben

    9. Juni 2017 um 12:45 Uhr

  • Warum brauchen wir DTO, wenn wir Klassenobjekte wie POJO haben? sind die nicht beide gleich?

    – Bhargav

    20. Juni 2017 um 14:08 Uhr

  • @Bhargav DTOs werden verwendet, um kombinierte Ergebnisse mehrerer Entitäten (POJOs) oder begrenzte Ressourcen einer Entität zurückzugeben.

    – Der Codierer

    21. Februar 2019 um 18:44 Uhr

1347290cookie-checkDTO- und DAO-Konzepte und MVC [closed]

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy