领域驱动DDD是什么?如何做领域建模?
浏览:314次 作者:小编一、什么是领域驱动DDD
DDD(Domain Driven Design)领域驱动设计是一种软件开发方法,它将软件开发过程中的重心从技术转移到了业务领域。它强调在软件设计中应该把业务领域作为中心,建立领域模型,将业务概念映射到代码实现中。
二、领域驱动设计之领域模型
领域模型是通过关注用户开发软件的问题区域,专注分析问题领域本身,发掘重要的业务领域概念,并建立概念与业务领域之间的关系,是出于概括开发软件的目的而概括地反应问题区域。领域模型分为两个方面:
一方面领域模型便于设计实现,在某个领域模型的基础上,能够较快便捷地设计软件概念上的实现模型,更偏向于编码实现的团队成员沟通交流,希望领域模型与这一过程深度绑定。
另一方面领域模型专注于要解决问题领域,可以使用统一的领域语言与领域专家、非IT团队成员的沟通与交互。
领域模型设计的步骤为:
1.从业务描述中提取名词;
2.从业务实体集合中抽象业务模型,建立问题域的概念;
3. 用UML提供的方法和图例进行领域模型设计、确定模型之间的关系;
4.从提取出来的名词中总结业务实体,区分名词中的属性、角色、实体、实例,形成问题域中操作实体的集合;
三、领域建模的重要性
领域驱动设计告诉我们,在通过软件实现一个业务系统时,建立一个领域模型是非常重要和必要的,因为领域模型具有以下特点:
1.整个软件的核心是领域模型,是软件中最有竞争力和价值的部分;领域模型能够快速响应设计精良且符合业务需求的变化;
2.领域模型确保我们的软件业务逻辑都在一个地方或一个模型中;这样对提高软件的可重用性、可维护性和业务理解性有很好的帮助;
3.为了能够使领域模型看得见,最常用表达领域模型的方式是图,但这不是唯一的表达方式,文字描述或代码也能表达领域模型,这些都是我们需要表达它的一些方法;
4.领域模型能够帮助开发人员相对平滑地将领域知识转化为软件构造;
5.领域专家可以通过领域模型相互交流和共享信息和知识,
6.领域模型包括分析、设计和开发;开发人员、设计师贯穿软件开发的整个过程,大家都可以通过领域模型进行交流,彼此共享信息与知识;因为大家面向的都是同一个模型,所以可以防止需求走样,可以让软件设计开发人员做出来的软件真正满足需求;
7.领域模型与任何技术实现无关,只反映业务;领域模型可以反映领域中的一些实体概念,
如地址、货物、书本、应聘记录等;还能反映领域中的一些过程概念,如资金转账等;
8.领域模型反映了领域内用户业务需求的本质,对具有某个边界的领域的一个抽象;领域模型只反应我们在领域内所关注的部分,是具有边界的。
中培IT学院开设“领域驱动设计之领域模型培训班”常年招生
感兴趣的小伙伴可以扫二维码咨询
- 标签: 领域驱动软件设计 领域驱动设计