首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用模型作为GenericDAO

使用模型作为GenericDAO
EN

Stack Overflow用户
提问于 2012-01-21 21:35:51
回答 1查看 729关注 0票数 1

我已经使用了两年的游戏框架。框架具有“条状体上的JPA”功能。我非常喜欢它。

http://www.playframework.org/documentation/1.2.4/5things

这是示例代码:

代码语言:javascript
复制
User connectedUser = User.find("byEmail", connected()).first();
...
connectedUser.delete();
...
connectedUser.save();

这个程序使用了很多帮助方法。其中有些是静态方法。每个模型文件都扩展了model类和瞧。你可以使用查找、保存、删除、提取..。

现在我使用Spring 3.1。我喜欢它的MVC用法。但是连接系统有点复杂。

我读了很多文章。有的采用服务层、数据层和模型层。其中一些只使用了dao层和模型层。Somes正在为每个模型对象创建DAO接口和DAO类,还创建服务类和服务接口。其中一些使用泛型DAO类。

事实上,我对所有这些变体都有点困惑。

  • 为什么我们要使用DAO层。对于CRUD operations.
  • Why来说,一个单独的hibernateUtil类和命名查询是不够的,我们不是使用play框架方法吗?
  • 为什么要为每个DAO类使用接口?仅仅实现是不够的?
  • 为什么要使用不必要的服务层?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-21 21:47:40

DAO层对于将数据访问代码与业务逻辑代码隔离开来非常有用。当您开始测试业务逻辑时,这尤其有用,因为它允许模拟DAO。并不是所有的应用程序都有CRUD操作。

接口具有相同的可测试性优势。阅读what reasons are there to use interfaces (Java EE or Spring and JPA),其中我解释了拥有接口的优势。

服务层是最重要的层。它是用来划分事务的。您可以避免使用DAO层,特别是当您有非常简单的crud类数据访问时。但是服务层是至关重要的。您不希望在它们自己的事务中有三个插入和一个更新。请参阅DAO Design Pattern and Servlets中的一个问题,其中我解释了为什么服务层如此重要。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8956905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档