Концепции DTO и DAO и MVC [закрыто]
1) Почему мы используем DTO и DAO, и когда мы должны использовать их. Я разрабатываю GUI программное обеспечение Java для вставки, редактирования, удаления данных. Но я изо всех сил пытаюсь отличить DTO/DAO и Model,View,Controller (MVC) структура? Они похожи, что лучше использовать при взаимодействии с базой данных через Java GUI.
2) Одна вещь, которую мне действительно интересно, является ли это хорошей практикой, чтобы иметь view и Controller в одном класс. Если мы подумаем о Netbeans, вы можете создать GUI класс кадра и добавить компоненты, такие как JButton на кадр, дважды нажав на кнопку приведет вас к actionListener метод (контроллер), который появляется в кадре данные должны быть отображены пользователю (вид). Так они в одном классе. Тогда это полностью противоречит концепции или нет?
<a href="http://www.youtube.com/watch?v=Iwwznm9XSME">Here is what Im talking about</a>
плохая практика, чтобы иметь представление и контроллер в одном классе?
1 ответ:
DTO-это аббревиатура для объекта передачи данных, поэтому она используется для передачи данных между классами и модулями вашего приложения. DTO должен содержать только частные поля для ваших данных, геттеров, сеттеров и конструкторов. Не рекомендуется добавлять методы бизнес-логики в такие классы, но можно добавить некоторые методы util.
DAO-это аббревиатура объекта доступа к данным, поэтому он должен инкапсулировать логику извлечения, сохранения и обновления данных в ваших данных хранилище (база данных, файловая система, что угодно). Вот пример того, как интерфейсы DAO и DTO будут выглядеть:
interface PersonDTO { String getName(); void setName(String name); //..... } interface PersonDAO { PersonDTO findById(long id); void save(PersonDTO person); //..... }MVC-это более широкий шаблон. DTO / DAO будет вашей моделью в шаблоне MVC. Он рассказывает вам, как организовать все приложение, а не только часть, ответственную за извлечение данных.
Что касается второго вопроса, если у вас есть небольшое приложение, это полностью нормально, однако если вы хотите следовать шаблону MVC, было бы лучше иметь отдельный контроллер, который будет содержать бизнес-логику для вашего фрейма в отдельном классе и отправлять сообщения этому контроллеру от обработчиков событий. Это позволит отделить бизнес-логику от представления.
Comments