java model - DTO-und DAO-Konzepte und MVC




view controller (2)

DTO ist eine Abkürzung für Data Transfer Object. Daher wird es 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. Es wird nicht empfohlen, diesen Klassen Geschäftslogikmethoden hinzuzufügen, aber es ist in Ordnung, einige util-Methoden hinzuzufügen.

DAO ist eine Abkürzung für Data Access Object, also sollte es die Logik zum Abrufen, Speichern und Aktualisieren von Daten in Ihrem Datenspeicher (eine Datenbank, ein Dateisystem, was auch immer) kapseln. Hier ist ein Beispiel, 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);
    //.....
}

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

Wie für die zweite Frage, wenn Sie eine kleine Anwendung haben, ist es völlig in Ordnung, aber wenn Sie das MVC-Muster folgen möchten, wäre es besser, einen separaten Controller zu haben, der die Geschäftslogik für Ihren Rahmen in einer separaten Klasse enthalten würde Senden Sie Nachrichten von den Ereignishandlern an diesen Controller. Dies würde Ihre Geschäftslogik von der Ansicht trennen.

1) Warum verwenden wir DTO und DAO und wann sollten wir sie verwenden DTO Ich entwickle eine GUI Java-Software zum Einfügen, Bearbeiten und Löschen von Daten. Aber ich habe Mühe, zwischen DTO/DAO und Model , View , Controller (MVC) Struktur zu unterscheiden? Sind sie ähnlich, ist es besser, wenn Sie mit der Datenbank über Java GUI interagieren.

2) Eine Sache, auf die ich wirklich neugierig bin, ist, ob es eine gute Übung ist, view und Controller in einer Klasse zu haben. Wenn wir über Netbeans nachdenken, können Sie eine GUI Frame-Klasse erstellen und Komponenten wie JButton in den Frame JButton Doppelklicken auf die Schaltfläche gelangen Sie zur actionListener Methode (Controller), die sich in dem Frame befindet, in dem die Daten angezeigt werden sollen Benutzer (Ansicht). Sie sind also in derselben Klasse. Geht das völlig gegen das Konzept oder nicht?

<a href="http://www.youtube.com/watch?v=Iwwznm9XSME">Here is what Im talking about</a>

schlechte Übung, um in einer Klasse View und Controller zu haben?


Sie haben im Wesentlichen Recht, was Sie in den Controller eingeben. Nur so kann das Modell mit der Ansicht interagieren. Das actionperformed kann in der Ansicht platziert werden, aber die tatsächliche Funktionalität kann in einer anderen Klasse platziert werden, die als Controller fungieren würde. Wenn Sie dies tun, empfehle ich, das Command-Muster zu betrachten, mit dem Sie alle Befehle abstrahieren können, die denselben Empfänger haben. Entschuldigung für den Exkurs.

Wie auch immer, eine korrekte MVC-Implementierung wird nur die folgenden Interaktionen haben: Modell -> View View -> Controller Controller -> View

Der einzige Ort, an dem eine andere Interaktion stattfinden kann, ist, dass Sie, wenn Sie einen Beobachter verwenden, um die Ansicht zu aktualisieren, die Ansicht den Controller nach den benötigten Informationen fragen muss.





java swing model-view-controller user-interface javabeans