1)为什么我们使用DTO
和DAO
,我们什么时候应该使用它们。我正在开发一个GUI
Java软件来处理插入,编辑,删除数据。但我正在努力区分DTO/DAO
和Model
,View
,Controller
(MVC)结构?它们是否相似,最好通过Java GUI
与数据库交互时使用。
2)我真正好奇的一件事是将view
和Controller
放在一个班级是否是一个好习惯。如果我们考虑Netbeans
,您可以创建GUI
框架类并将JButton
等组件添加到框架上,双击该按钮将转到actionListener
方法(Controller),该方法似乎在框架中数据将显示到框架中用户(查看)。所以他们在同一个班级。这完全违背了这个概念吗?
我正在谈论的是Here
在一个类中拥有视图和控制器的不良做法?
DTO
是数据传输对象的缩写,因此它用于在应用程序的类和模块之间传输数据。
DTO
应该只包含数据,getter,setter和构造函数的私有字段。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模式,最好有一个单独的控制器,它将在一个单独的类中包含你的帧的业务逻辑并从事件处理程序向此控制器发送消息。 这会将您的业务逻辑与视图分开。