代码改变世界

随笔分类 - DDD

领域驱动开发实践之路:我们是如何从领域驱动开发当中获益的

2017-11-01 16:47 by 敏捷的水, 2258 阅读, 收藏, 编辑
摘要:有了《领域驱动设计》和《实现领域驱动设计》两大神器,也只是向美女要了个联系方式和家庭住址而已,中间还隔了一个漫长的日落和日出,没有正式的项目,我们永远是在岸上游泳,虽然我们也在项目里开始或多或少使用了领域的一些概念,但是我们应该知道基于数据驱动(Database Driven) 是很难成功应用领域驱动设计的。正好这个时候公司来了一个项目(客户是Fortune Global 500), 他们的架构师指定要求使用领域驱动设计,这让我非常兴奋,让我们有机会对复杂业务进行领域驱动开发的实践。 阅读全文

领域驱动设计系列 (六):CQRS

2015-06-04 15:33 by 敏捷的水, 7866 阅读, 收藏, 编辑
摘要:CQRS是Command Query Responsibility Seperation(命令查询职责分离)的缩写。 世上很多事情都比较复杂,但是我们只要进行一些简单的分类后,那么事情就简单了很多,比如我们把人分为男人和女人,也可以把人分为大人和小孩,还比如,我们说国内和国外,城市和农村。经过一些类似这样的划分,我们的对不同的类就有不同的关注。 这样我们就会有妇女儿童医院专门让女人生孩子,而不会建一个医院让男女都生孩子。 阅读全文

领域驱动设计系列 (五):事件驱动之异步事件

2015-02-12 16:46 by 敏捷的水, 4330 阅读, 收藏, 编辑
摘要:# 前言上一篇讲了事件,以及为什么要使用事件,主要是为了解耦,但是有同学就问了,同步如果订阅事件的人太多,比如13亿人都关心上头条的事,那么RaiseEvent得等13亿人都处理完,那得多久呀,从此再也不敢发事件了。举个例子,你在网上下单,下完单要通知库房,甚至要通知供应商补货,如果都是同步的话,消... 阅读全文

领域驱动设计系列 (四):事件驱动下

2015-02-11 18:05 by 敏捷的水, 3946 阅读, 收藏, 编辑
摘要:# 前言上一篇说到为什么要使用事件驱动,但是只有概念是不够的,我们要代码呀!记得脸书的老总说过: "Talk is cheap, Show me the code!"# 实现思路## 发出事件事件顾名思义就是一件事情发生了,比如我要上头条,这不是一个事件,这事一个Command, HeadComma... 阅读全文

领域驱动设计系列(三):事件驱动上

2015-02-11 11:39 by 敏捷的水, 5667 阅读, 收藏, 编辑
摘要:今天讲一下事件驱动,这个不是领域驱动设计里的事件源(Event Source), 这个以后再讲,今天主要讲一下如何用事件来解耦,主要的原因是我们有个项目有个功能我觉得用事件的方式比较好。 阅读全文

领域驱动设计系列(二):领域模型

2015-02-10 23:50 by 敏捷的水, 6101 阅读, 收藏, 编辑
摘要:## 前言领域驱动设计里有很多东西,我们可以应用在各种各样的开发模式里,所以接下来说的一些东西,我们可以部分使用。说道领域驱动的领域,大家肯定就要开始说Bounded Context,聚合,聚合根,容易让大家搞糊涂。 我觉得先抛开这些概念,后面再来说如何设计聚合,先简单来说。## 模型过去,我们在多... 阅读全文

领域驱动设计系列(一):为何要领域驱动设计?

2015-02-10 17:44 by 敏捷的水, 16620 阅读, 收藏, 编辑
摘要:领域驱动设计最近貌似开始火起来了,越来越多的人开始认识到领域设计的重要性,从我做过的项目来看,似乎欧洲已经有很多的公司开始实施领域驱动设计了,我看领域驱动设计也有些时间了,但是网上不管是文章还是代码,都显得太过“高大上”,一谈领域驱动设计,一大堆的概念一股脑的给你上上来,搞的有点晕头转向,而我想在一些中小项目实施领域驱动也遇到了不小的障碍,大家对很多东西都处于一种恐惧的状态,而且在正真开始实施时,也遇到一些疑问,所以也想和大家交流学习,因此开始在此写写对领域驱动的理解,后面会有一些轻量的演进代码。 阅读全文