如何开始DDD(续)】的更多相关文章

上一篇针对用户注册案例简单介绍了如何使用 DDD,接下来我将继续针对这个例子做一下补充.先将User模型丰富起来,因为目前看上去他和贫血模型还没有啥大的区别. 首先还是由领域专家来说明业务,他提出了用户注册成功后需要完善个人信息,这些信息包括姓名.生日.手机号.还需要用户提供一些联系信息,如地址,邮编等.那么我们就可以根据业务定义方法了.昨天netfocus兄指正了loginid所产生的歧义,表示认同,所以今天一并修改了一下. public class AddressInfo { public…
用CQRS+ES实现DDD 这篇文章应该算是对前三篇的一个补充,在写之前说个题外话,有园友评论这是在用三层架构在写DDD,我的个人理解DDD是一种设计思想,跟具体用什么架构应该没有什么关系,DDD也需要分层,也有三层架构的影子在里面.三层架构主要是表现层.业务层和数据层,而DDD已经没有数据层,三层结构里的模型是贫血的,而DDD却是充血的.如果你在用三层框架已经有了聚合,实体,值对象的概念,那说明你已经在靠近DDD了,或者你不愿相信罢了,当然你可以保留自己的观点,这里不作争论,我也不能作出结论,…
如何开始DDD(完) 连续写了两篇文章,这一篇我想是序的完结篇了.结合用户注册的例子再将他简单丰富一下.在这里只添加一个简单需求,就是用户注册成功后给用户发一封邮件.补充一下之前的代码 public class DomainService { public void Register(User user) { if (_userRepository.IsLoginIdExist(user.LoginId)) { throw new Exception("用户名已存在"); } _use…
上篇中说到了面临的问题(传送门:DDD设计中的Unitwork与DomainEvent如何相容?),和当时实现的一个解决方案.在实际使用了几天后,有了新的思路,和@trunks 兄提出的观点类似.下面且听我娓娓道来. 一.回顾 先回顾一下,代码中的核心类. DomainEventConsistentQueue : 用于把多个领域事件放到一个集合中,批量进行实际的发布操作. SqlServerUnitOfWork : 基于SQL SERVER的工作单元实现. 上篇最终的编码效果. var aggr…
上一篇:DDD 领域驱动设计-三个问题思考实体和值对象 说实话,整理现在这一篇博文的想法,在上一篇发布出来的时候就有了,但到现在才动起笔来,而且写之前又反复读了上一篇博文的内容及评论,然后去收集资料,真正去写的时候,才发现这类的博文真不是一般的难写,一句话要反复揣摩,并进行理解,最重要的是半天才蹦出一句话. 看了上面的文字,你可能会觉得我是为了写博文而写博文,其实并不是如此,我现在觉得写这类博文的目的在于梳理自己的观点,然后再进行表达出来,有的人可能会觉得为什么要纠结某一类观点?或者认为陷在一个…
回到目录 在之前写的DDD~基础设施层文章中,提到了UnitOfWork,它里面有一些方法,但经过项目证明,不应该有Save和IsExplicitSubmit,而这个工作单元只起到了数据上下文统一的作用,如A和B对象需要在同一个上下文中工作,这时,我们可以引用工作单元的概念,而对于保存和提交操作,还是应该在局部方法里完成的. 为了不去触发MSDTC,我会封装一个特殊的事务,来实现这个工作,而对于SQL2008来说,可以直接使用.net自己的TransactionScope实现,对于同一个数据库来…
ABP相关岗位招聘:给热爱.NET新技术和ABP框架的朋友带来一个高薪的工作机会 ABP交流会录像视频:ABP架构设计交流群-7月18日上海线下交流会的内容分享(有高清录像视频的链接) 代码自动生成:分享一个与ABP配套使用的代码生成器源码 ABP系列文章总目录: 1.ABP总体介绍  2.ASP.NET Boilerplate入门 3.ABP分层架构 4.ABP模块系统 5.ABP启动配置 6.ABP依赖注入 7.ABP Session管理8.ABP日志管理9.ABP设置管理10.ABP领域层…
写在前面 插一句:本人超爱落网-<平凡的世界>这一期,分享给大家. 阅读目录: 关于DDD 前期分析 框架搭建 代码实现 开源-发布 后记 第一次听你,清风吹送,田野短笛:第一次看你,半弯新湖,鱼跃翠堤:第一次念你,燕飞巢冷,释怀记忆:第一次梦你,云翔海岛,轮渡迤逦:第一次认你,怨江别续,草桥知己:第一次怕你,命悬一线,遗憾禁忌:第一次悟你,千年菩提,生死一起. 人生有很多的第一次:小时候第一次牙牙学语.第一次学蹒跚学步...长大后第一次上课.第一次逃课.第一次骑自行车.第一次懂事.第一次和喜…
回到占占推荐博客索引 DDD之前没有接触过,但一但有了接触就一发不可收拾,他会带去进入一个全新的世界! DDD不是新技术,而是新思想,新模式,是软件开发领域的一次突破,它更接近于业务,对于业务的改动它更加运用自如,它DDD模式里,你可能会涉及到IoC,AOP,OOP,OOD等设计模块,也可能会涉及到mvc,wcf,remotting,webservice,websocket,等热技术,也可能会涉及到redis,lucene,fastdfs,signalR,nodejs,unity,castle,…
其他博文: DDD 领域驱动设计-三个问题思考实体和值对象 DDD 领域驱动设计-三个问题思考实体和值对象(续) 以下内容属于博主"臆想",如有不当,请别当真. 扯淡开始: 诺兰的最新电影<星际穿越>,最近非常的火热,每个人看完之后都会有不一样的感受,黑洞.虫洞.时间旅行.相对论.未来.人类.爱等等,这些都是这部电影的关键词,科学和艺术原来还可以这样子结合,真是令人叹服.网上有很多人去写一些东西进行分析探讨,也引发了全球"科学热",这些都是好电影所蕴含的…