DTO和DAO概念和MVC

时间:2013-01-16 19:15:43

标签: java swing model-view-controller user-interface javabeans

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

2)我真正好奇的一件事是在一个班级中viewController是否是一个好习惯。如果我们考虑Netbeans,您可以创建GUI框架类并将JButton等组件添加到框架上,双击该按钮将转到actionListener方法(控制器) )似乎在框架中数据将显示给用户(视图)。所以他们在同一个班级。这完全违背了这个概念吗?

我正在谈论

Here

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

1 个答案:

答案 0 :(得分:217)

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模式,那么会更好地拥有一个单独的控制器,它将包含框架的业务逻辑在一个单独的类中,并从事件处理程序向此控制器发送消息 这会将您的业务逻辑与视图分开。