Ответ 1
DTO
- это сокращение от Data Transfer Object, поэтому оно используется для передачи данных между классами и модулями вашего приложения.
-
DTO
должен содержать только закрытые поля для ваших данных, методов получения, установки и конструкторов. -
DTO
не рекомендуется добавлять методы бизнес-логики в такие классы, но можно добавить некоторые методы util.
DAO
- это аббревиатура от Object Access Object, поэтому она должна содержать логику для извлечения, сохранения и обновления данных в вашем хранилище данных (база данных, файловая система и т.д.).
Вот пример того, как будут выглядеть интерфейсы 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, было бы лучше иметь отдельный контроллер, который содержал бы бизнес-логику для вашего фрейма в отдельном классе. и отправлять сообщения этому контроллеру от обработчиков событий.
Это отделит вашу бизнес-логику от представления.