dao,repositories和service的关系

                     dao,repositories和service的关系

转载:https://www.jdon.com/32562

 

Repository是对象的仓库,也就是保存对象的地方,这个仓库就是我们普通意义的仓库,一个真正OO系统,业务层是围绕活动的对象进行,活动的对象是从仓库中获取的,也是通过交给仓库进行对象长久保管,也就是持久化意思,说白了,就是保存到数据库。

而DAO则没有如此OO概念,DAO是Data access Object,DAO中有数据概念,还是没有摆脱数据库的影子。

所以,Repository替代DAO,是OO深入的趋势,但是在具体处理中,由于性能或设计不够周到或者一些事情把握不定,DAO还会继续存在一段时间,属于过渡式消失。

Repository和DAO两个概念比较中发现,Repository是相对对象而言,而DAO是相对数据库而言,只要我们还是使用关系数据库保存对象,也可能这两者都同时存在,因为侧重点不一样,但是可以肯定的是,业务层应该直接和Repository打交道,而不是DAO.

Reposirtory提供对象管理, 管理对象可以通过DAO写入数据库或读取数据库组装对象,或者放入缓存等,这些业务层都不需要知道,业务层只对Reposirtory要求对象管理。

DAO就是数据库访问层,提供数据库CRUD操作。被包含在Reposirtory之内。

如果业务层直接调用DAO层,那么系统设计应该趋向数据库设计。

Service层调用XxxxRepository接口与XxxxDao接口完成相应的业务逻辑

猜你喜欢

转载自blog.csdn.net/xiao__jia__jia/article/details/84642793