DDD领域建模理解
导读
在 DDD 领域建模和系统建设过程中,有很多的参与者,包括领域专家、产品经理、项目经理、架构师、开发经理和测试经理等。对同样的领域知识,不同的参与角色可能会有不同的理解,那大家交流起来就会有障碍,怎么办呢?
因此,在 DDD 中就出现了“通用语言”和“限界上下文”这两个重要的概念。
这两者相辅相成,通用语言定义上下文含义,限界上下文则定义领域边界,以确保每个上下文含义在它特定的边界内都具有唯一的含义,领域模型则存在于这个边界之内。
大约 38 分钟
在 DDD 领域建模和系统建设过程中,有很多的参与者,包括领域专家、产品经理、项目经理、架构师、开发经理和测试经理等。对同样的领域知识,不同的参与角色可能会有不同的理解,那大家交流起来就会有障碍,怎么办呢?
因此,在 DDD 中就出现了“通用语言”和“限界上下文”这两个重要的概念。
这两者相辅相成,通用语言定义上下文含义,限界上下文则定义领域边界,以确保每个上下文含义在它特定的边界内都具有唯一的含义,领域模型则存在于这个边界之内。
软件工程中很多问题都可以通过分层来解决,比如计算机缓存设计,分为一级二级三级等缓存层次,目的是为了解决内存和磁盘之间速度不匹配问题,通过引入分层的设计,将这种速度不匹配带来的影响降到了最低,再比如在数仓建模中,数据仓库通常分为ods,dwd,dwm,dws层,其实也是将复杂的问题简单化,引入分层的设计,让数据链路之间的依赖更加清楚,保证数据结构层次清洗,方便产出需要的数据,同理,今天要介绍的MVC软件架构模式,也是一种分层的思想。
面向过程的语言设计的网站系统,通常是方法之间的相互调用,比如A调用B,B调用C,方法之间相互调用完成一个业务流程,开发完的软件结构混乱不好维护,在面向对象开发以来,为了开发出的网站好维护,降低开发成本,逐步形成MVC软件架构,主要包括M-model对象层,主要封装一些实体对象,V-view展示层,通常用来向用户展示界面,但是目前大多都是前后端分离,所以这个V被淡化了很多,C-controller控制层,主要负责对外提供访问接口,DAO被抽象出来主要用来操作数据库。所以MVC-D这种软件架构使我们开发网站有了理论指导依据。