DTO 和 DAO 概念和 MVC

1)为什么要使用 DTODAO,什么时候应该使用它们。我正在开发一个 GUIJava 软件做插入,编辑,删除数据。但是我很难区分 DTO/DAOModelViewController(MVC)结构?它们是否相似,最好在通过 JavaGUI与数据库交互时使用。

2)我真正好奇的一件事是,把 viewController放在一个班里是否是一个好的做法。如果我们考虑一下 Netbeans,你可以创建 GUI帧类并在帧中添加像 JButton这样的组件,双击按钮将带你到 actionListener方法(控制器) ,这个方法显示在帧中,数据将显示给用户(视图)。所以他们在同一个班级。这是不是完全违背了这个概念?

这就是我所说的

把视图和控制器放在一个类中的做法不好吗?

193296 次浏览

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

  • DTO应该只包含数据、 getter、 setter 和构造函数的私有字段。
  • 不建议向这类类中添加业务逻辑方法,但是可以添加一些 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 模式,它将是 最好有一个单独的控制器,它将包含业务逻辑为您的框架在一个单独的类和分派消息到这个控制器从事件处理程序。
这将把您的业务逻辑从视图中分离出来。