DDD专栏5:深入DDD的核心:领域与限界上下文
Posted roykingw
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DDD专栏5:深入DDD的核心:领域与限界上下文相关的知识,希望对你有一定的参考价值。
05、深入DDD的核心:领域与限界上下文
上一章节中,我们主要讨论了DDD如何通过仓库、工厂、聚合这些工具,来保护以实体、值对象和领域服务为主体的领域模型的。通过仓库和工厂隔离了底层数据存储模型对领域模型的影响。而又通过聚合,隔离了业务对领域模型的影响。这样,领域就可以以一个相对独立的方式进行演进了。其实重点就是提出了一个聚合自治的思想。将一个大的问题划分成多个相对独立的聚合,减少各个聚合之间的依赖关系,从而使各个聚合能够以比较独立的方式进行演进。
然而,如果站在更大的业务系统,例如电商网站的角度,之前所讨论的各个场景就都显得有点过于细致了。通过聚合,确实能很好的帮助我们解决某一个具体的业务场景,但是却很难演化出一个完整的系统。所以之前几讲的内容,可以理解为是DDD的战术篇,即使用DDD来解决具体的问题。而这一讲,我们将进入战略层面,来讨论如何使用DDD来对一个业务系统进行整体的设计。
领域划分
DDD的核心是领域,那领域到底是什么呢?在百度百科中,对领域的解释是"学术思想或社会活动的范围"。这里可以看到,关于领域,最重要的一个关键词就是范围,范围也就是边界,这也是在DDD设计中不断强调各种边界的根本原因。领域的概念可大可小,但是根本目的就是为了划分出业务边界。我们说软件是一个领域,那是为了跟硬件区分开;java也可以是一个领域,是为了跟其他开发语言区分开。而我们这里讨论的领域,其实是为了对业务边界和范围进行限定。领域越大,业务范围也就越大。而DDD则是一种处理高度复杂领域的设计思想,他的目的就是试图抽离出技术实现的复杂性,让软件能够
以上是关于DDD专栏5:深入DDD的核心:领域与限界上下文的主要内容,如果未能解决你的问题,请参考以下文章