首页 新闻 搜索 专区 学院

仓储模式和工作单元的困惑

1
悬赏园豆:5 [已解决问题] 解决于 2017-06-27 09:46

最近,看了一些关于这方面的内容,但感觉越看越困惑,不知道怎么处理。希望大神能给个回答。

 1.在我看来,仓储模式无非就是将数据持久化的操作统一了起来,并进行了封装,避免了代码混乱,方便进行功能测试。接下来又是为了避免过多的重复代码,又有了泛型仓储,接口化等操作。这个感觉跟三层架构的数据层封装并没什么两样,就是换了种称呼而已。困惑:我们针对每个实体实现了仓储,封装了实体操作,但项目中很多时候并不是单个实体的操作,那么多个实体的联合操作应该怎么进行呢?

2.工作单元模式,网上查阅了很多理论,但并没有发现好的实践框架,有哪位能给推荐一下吗?  现在我看到的一些项目,感觉都是蹭了个名,和仓储模式除了接口名不同,里面的接口方法定义基本上就没差别,调用上也是混乱的,看的很纠结。

waslm的主页 waslm | 初学一级 | 园豆:194
提问于:2017-06-22 16:14
< >
分享
最佳答案
0

仓储、工作单元,它们并不是你说熟悉的三层架构中的东西。

它们是 DDD也就是领域驱动设计中的概念,属于架构设计的范畴,所以要理解它们,首先找本领域驱动设计的书(或者系列博客文章)看看。

 

收获园豆:2
西漠以西 | 小虾三级 |园豆:1670 | 2017-06-23 11:11
其他回答(2)
0

我的观点是:DDD是领域驱动设计.而不是领域驱动开发.

到现在一大堆文章.没一个结构能达到orchard的高度.

你写个这2个.工作单元其实就是事务操作.仓储就是数据访问层.

有兴趣学 项目架构设计.十分推荐去看orchard项目.那是针牛逼.

收获园豆:2
吴瑞祥 | 园豆:28820 (高人七级) | 2017-06-22 16:29

嗯嗯  ,听过这个 没去看   有时间关注一下   thx

支持(0) 反对(0) waslm | 园豆:194 (初学一级) | 2017-06-22 17:02
0

1.仓储 针对的是一个聚合,通常 操作聚合根,聚合根里有很多其他的实体。聚合根之间可以引用,但不可以跳过聚合根 直接引用其他实体,有严格的边界,跟普通的dal 不一样。

2.工作单元是针对事物的操作,实现方式多样,通常是把 各个操作action记录在一个list里,再通过UnitOfWork.commit 进行提交。commit 实现就是 使用事物 ,在事物里 循环list,执行action。

收获园豆:1
Qlin | 园豆:2403 (老鸟四级) | 2017-06-22 17:19

感觉DDD不精通 都不知道具体说的啥  仓储和DDD是什么关系呢 ?

支持(0) 反对(0) waslm | 园豆:194 (初学一级) | 2017-06-22 17:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册