最近,看了一些关于这方面的内容,但感觉越看越困惑,不知道怎么处理。希望大神能给个回答。
1.在我看来,仓储模式无非就是将数据持久化的操作统一了起来,并进行了封装,避免了代码混乱,方便进行功能测试。接下来又是为了避免过多的重复代码,又有了泛型仓储,接口化等操作。这个感觉跟三层架构的数据层封装并没什么两样,就是换了种称呼而已。困惑:我们针对每个实体实现了仓储,封装了实体操作,但项目中很多时候并不是单个实体的操作,那么多个实体的联合操作应该怎么进行呢?
2.工作单元模式,网上查阅了很多理论,但并没有发现好的实践框架,有哪位能给推荐一下吗? 现在我看到的一些项目,感觉都是蹭了个名,和仓储模式除了接口名不同,里面的接口方法定义基本上就没差别,调用上也是混乱的,看的很纠结。
仓储、工作单元,它们并不是你说熟悉的三层架构中的东西。
它们是 DDD也就是领域驱动设计中的概念,属于架构设计的范畴,所以要理解它们,首先找本领域驱动设计的书(或者系列博客文章)看看。
我的观点是:DDD是领域驱动设计.而不是领域驱动开发.
到现在一大堆文章.没一个结构能达到orchard的高度.
你写个这2个.工作单元其实就是事务操作.仓储就是数据访问层.
有兴趣学 项目架构设计.十分推荐去看orchard项目.那是针牛逼.
嗯嗯 ,听过这个 没去看 有时间关注一下 thx
有没有链接推荐一下,我百度没有搜到
1.仓储 针对的是一个聚合,通常 操作聚合根,聚合根里有很多其他的实体。聚合根之间可以引用,但不可以跳过聚合根 直接引用其他实体,有严格的边界,跟普通的dal 不一样。
2.工作单元是针对事物的操作,实现方式多样,通常是把 各个操作action记录在一个list里,再通过UnitOfWork.commit 进行提交。commit 实现就是 使用事物 ,在事物里 循环list,执行action。
感觉DDD不精通 都不知道具体说的啥 仓储和DDD是什么关系呢 ?