DTO和DAO概念和MVC

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

2)我真正好奇的一件事情是,在一个class级中是否有一个好的做法是把viewController 。 如果我们考虑一下Netbeans ,你可以创buildGUI Frame Class并添加JButton这样的组件到框架上,双击这个button会把你带到actionListener方法(Controller), actionListener方法看起来actionListener在框架中,数据将被显示给用户(View)。 所以他们在同一个class上 这是否完全违背了这个概念呢?

 <a href="http://www.youtube.com/watch?v=Iwwznm9XSME">Here is what Im talking about</a> 

不好的做法有一个类的视图和控制器?

DTO是数据传输对象的缩写,因此它用于在应用程序的类和模块之间传输数据。 DTO应该只包含你的数据,getter,setter和构造函数的私有字段。 不build议将业务逻辑方法添加到这些类中,但可以添加一些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模式,最好是有一个单独的控制器,它将在一个单独的类中包含你的框架的业务逻辑,从事件处理程序向这个控制器发送消息。 这将从视图中分离您的业务逻辑。