领域驱动的一些思想

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了领域驱动的一些思想相关的知识,希望对你有一定的参考价值。

首先我们从字面上理解一下,领域理解为业务,驱动理解为驱导,也就是用业务去驱导项目开发,确立业务在项目的领导地位。

在传统的开发流程中。

前三个步骤分别是

1.需求分析 :描述业务。

2.概要设计 :设计软件结构。

3.详细设计:对软件结构的详细描述(使用的算法,数据表,流程图等)

完成这三个步骤以后,通常会进入编码阶段,在编码阶段整个系统开发会自下而上。也就是说先设计好数据库表,建立数据层,通过数据层对外提供数据接口。然后开发业务逻辑层,业务逻辑层依赖仓储。最后是表现层,表现层依赖业务逻辑层和数据层。

 

技术分享

在这种自下而上的模式中。业务逻辑层依赖数据层的数据接口。你可以做一个不合理的假设,这个系统现在只有两个开发人员他们互不认识,一个开发数据层,一个开发业务逻辑层。在没有沟通的情况下,业务逻辑层并非主导,因为数据层决定我给你什么接口,不给你什么接口,我要改接口你也得跟着改。这种开发模式显然并不合适日益庞大的业务需求。在领域驱动的思想中,所有的工作中心都必须围绕业务层,必需让业务层做主导。前面那个假设就变成了业务层的开发人员制定数据接口,数据层以来这个数据接口,并实现它。这种情况下,业务层完全变成主导,要或者不要,改或者不改。

对比这两者。

 

传统模式

领域驱动

工作重心

数据库和仓储层

业务逻辑层

以上是关于领域驱动的一些思想的主要内容,如果未能解决你的问题,请参考以下文章

领域驱动设计之我见-实现模式

DDD(领域驱动设计)思想解读及优秀实践

云原生时代,领域驱动设计思想(DDD)如何落地?

领域驱动设计模式原理与实践

一看就懂的DDD-(Domain Drive Design领域驱动设计)设计思想

[北京]2017首届领域驱动设计峰会