1) ¿Por qué usamos DTOy DAO, y cuando debemos usarlos. Estoy desarrollando un GUIsoftware Java que tiene que ver con insertar, editar y eliminar datos. Pero estoy luchando para distinguir entre DTO/DAOe Model, View, ControllerEstructura (MVC)? Son similares, lo cual es mejor usar cuando interactúa con la base de datos a través de Java GUI.
2) Una cosa que realmente me interesa es si es una buena práctica tenerla viewy Controlleren una clase. Si pensamos en ello Netbeans, puede crear la GUIClase de cuadro y agregar componentes como JButtonen el cuadro, haciendo doble clic en el botón lo llevará al actionListenermétodo (Controlador) que parece estar en el cuadro donde los datos se mostrarán al usuario (Ver) . Entonces están en la misma clase. ¿Eso va completamente en contra del concepto entonces o no?
Aquí es lo que estoy hablando
¿Es una mala práctica tener vista y controlador en una clase?
fuente

Respuestas:
DTOes una abreviatura de Data Transfer Object , por lo que se utiliza para transferir los datos entre clases y módulos de su aplicación.DTOsolo debe contener campos privados para sus datos, captadores, establecedores y constructores.DTONo se recomienda agregar métodos de lógica de negocios a tales clases, pero está bien agregar algunos métodos de utilidad.DAOes una abreviatura de Data Access Object , por lo que debe encapsular la lógica para recuperar, guardar y actualizar datos en su almacenamiento de datos (una base de datos, un sistema de archivos, lo que sea).Aquí hay un ejemplo de cómo se verían las interfaces DAO y DTO:
El
MVCes un patrón más amplio. El DTO / DAO sería su modelo en el patrón MVC.Le indica cómo organizar toda la aplicación, no solo la parte responsable de la recuperación de datos.
En cuanto a la segunda pregunta, si tiene una aplicación pequeña, está completamente bien, sin embargo, si desea seguir el patrón MVC, sería mejor tener un controlador separado , que contendría la lógica de negocios para su marco en una clase separada y enviar mensajes a este controlador desde los controladores de eventos.
Esto separaría su lógica de negocios de la vista.
fuente