DTO 和 DAO 概念和 MVC [已关闭]

1)我们为什么要使用 和 ,以及何时应该使用它们。我正在开发一个Java软件来插入,编辑,删除数据。但是我正在努力区分和,,(MVC)结构?它们是否相似,在通过Java与数据库交互时使用会更好。DTODAOGUIDTO/DAOModelViewControllerGUI

2)我真正好奇的一件事是,在一堂课上这样做是否是一种好习惯。如果我们考虑一下,您可以创建 Frame 类并将组件添加到框架上,双击该按钮将带您进入方法(控制器),该方法(控制器)似乎位于要向用户显示数据的框架中(视图)。所以他们是同一个班级。这是否完全违背了这个概念呢?viewControllerNetbeansGUIJButtonactionListener

这就是我要说的

在一个类中有视图和控制器的不良做法?


答案 1

DTO数据传输对象的缩写,因此它用于在应用程序的类和模块之间传输数据。

  • DTO应仅包含数据、getter、setter 和构造函数的私有字段。
  • DTO不建议将业务逻辑方法添加到此类类中,但可以添加一些 util 方法。

DAOData Access Object 的缩写,因此它应该封装用于检索、保存和更新数据存储(数据库、文件系统等)中的数据的逻辑。

下面是 DAO 和 DTO 接口的外观示例:

interface PersonDTO {
    String getName();
    void setName(String name);
    //.....
}

interface PersonDAO {
    PersonDTO findById(long id);
    void save(PersonDTO person);
    //.....
}

这是一个更广泛的模式。DTO/DAO 将是 MVC 模式中的模型。
它告诉您如何组织整个应用程序,而不仅仅是负责数据检索的部分。MVC

至于第二个问题,如果你有一个小应用程序,它是完全可以的,但是,如果你想遵循MVC模式,最好有一个单独的控制器,它将包含一个单独的类中的帧的业务逻辑,并从事件处理程序调度到这个控制器的消息。
这会将业务逻辑与视图分开。


答案 2

推荐