领域驱动设计
文章平均质量分 86
tangxuehua
这个作者很懒,什么都没留下…
展开
-
关于领域驱动设计(DDD)中聚合设计的一些思考
DDD社区官网上一篇关于聚合设计的几个原则的简单讨论:文章地址:http://dddcommunity.org/library/vernon_2011/,该地址中包含了一篇关于介绍如何有效的设计聚合的一些原则,共3个pdf文件。该文章中指出了以下几个聚合设计的原则:聚合是用来封装真正的不变性,而不是简单的将对象组合在一起;聚合应尽量设计的小;聚合之间的关联通过ID,而不是对象引用;原创 2015-05-10 22:54:49 · 555 阅读 · 2 评论 -
ENode 2.6 架构与设计简介以及全新案例分享
前言ENode是一个应用开发框架,为开发人员提供了一整套基于DDD+CQRS+ES+EDA架构风格的解决方案。ENode从发布1.0开始到现在的差不多两年时间,我几乎每周都在更新设计或实现代码。以至于从来没有一个稳定的版本可以提供给大家,非常惭愧。但我相信,随着时间的推移和我的努力的积累,ENode一定会越来越稳定和成熟的。我觉得我此刻很幸福,因为我有自己的兴趣且有机会在业余时间为了自己的原创 2015-05-10 22:55:54 · 297 阅读 · 0 评论 -
DDD实践问题之 - 关于论坛的帖子回复统计信息的更新的思考
之前,在用ENode开发forum案例时,遇到了关于如何实现论坛帖子的回复的统计信息如何更新的问题。后来找到了自己认为比较合理的解决方案,分享给大家。也希望能和大家交流,擦出更多的火花。论坛核心领域问题分析论坛领域的核心概念是:帖子、回复。大家都知道,一个帖子可以有零个或多个回复。对同一个帖子,不同的人可以并行发表回复。回复发表后,查看帖子详情时,可以根据回复的发表时间排序显示;此原创 2015-05-10 22:58:35 · 407 阅读 · 0 评论 -
ENode 2.6 - 关于聚合根一次产生多个领域事件时更新读库的方案设计
最近在用ENode开发conference案例时,遇到一个问题,写篇文章分享一下。问题背景Conference案例,是一个关于在线创建会议(类似QCon这种全球开发者大会)、在线管理会议位置信息、在线预订某个会议的位置的,这样一个系统。具体可以看微软的这个项目的主页:http://cqrsjourney.github.io。然后我们设计了一个Conference聚合根,对应原创 2015-05-10 23:00:18 · 474 阅读 · 0 评论 -
领域驱动设计(DDD)部分核心概念的个人理解
领域驱动设计(DDD)是一种软件设计的思考方式。它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题。Eric Ivans为领域驱动设计提出了大量的最佳实践和经验技巧。只有对领域的不断深入认识,才能得到一个解决领域核心问题的领域模型。如果一个应用的复杂性不是在技术方面的,而是在领域本身,即领域内的业务很复杂,那这种应用,使用领域驱动设计的价值就越大。领域驱动开发原创 2015-05-10 23:04:33 · 425 阅读 · 0 评论