领域驱动设计理论(1)为什么需要它

领域驱动设计即面向领域设计,领域指的是业务领域,比如银行业务领域,医药销售领域;不同于传统以数据表为中心的建模方式,它以业务领域为中心来建模,能促使我们以正确的方式使用面向对象,建立饱满的领域对象,开发任何一个系统首先得深入了解业务领域知识,领域知识应向领域专家获取,达成共识,进而抽象建立模型,整个软件过程以模型来交流并随着领域知识的逐渐丰富不断改进优化模型,模型可以是uml图、文字等;软件系统要体现领域里重要的核心概念和元素,并精确实现它们之间的关系,最终开发的软件才能够传递真正业务价值,能够更好的符合客户的业务战略,并且可以将竞争优势融合到解决方案中,达到软件的最终目的--解决相应领域中的业务问题。

领域驱动设计是一套软件开发方法论,指导我们怎样进行领域建模、开发IT系统,它主要关注下面三个方面:

1,它要求领域专家和开发者一起创建一套通用语言,团队内所有人员使用同样的语言词汇进行交流,通用语言是业务术语,反映了领域模型,使用这套通用语言进行领域建模,符合领域专家的描述的业务模型

2,它关注业务战略,DDD的战略设计从更高层次抽象系统,清楚的划分不同的系统和业务关注点,以确保每个业务服务的独立性,它将指导我们如何实现面向服务的架构(SOA)或者业务驱动架构,当前的MSA架构也是SOA的一种技术实现,因此领域驱动设计天生的适合MSA架构,指导我们如何拆分业务,从这一点看MSA也不是什么新花样,像是DDD的一套硬性框架,DDD思想提出了这么多年,一直要求这样设计系统,如今MSA的兴起把DDD重新推到了前台。

3,领域驱动设计提供了战术建模元素,包括实体、值对象、领域服务、领域事件、模块、聚合等,这些元素工具能使开发者按照领域专家的期望来建立领域模型,它主要关注技术层面的实施,是对战略设计的具体化和细节化。

你可能感兴趣的:(领域驱动设计理论(1)为什么需要它)