首先我们从字面上理解一下,领域理解为业务,驱动理解为驱导,也就是用业务去驱导项目开发,确立业务在项目的领导地位。
在传统的开发流程中。
前三个步骤分别是
1.需求分析 :描述业务。
2.概要设计 :设计软件结构。
3.详细设计:对软件结构的详细描述(使用的算法,数据表,流程图等)
完成这三个步骤以后,通常会进入编码阶段,在编码阶段整个系统开发会自下而上。也就是说先设计好数据库表,建立数据层,通过数据层对外提供数据接口。然后开发业务逻辑层,业务逻辑层依赖仓储。最后是表现层,表现层依赖业务逻辑层和数据层。
在这种自下而上的模式中。业务逻辑层依赖数据层的数据接口。你可以做一个不合理的假设,这个系统现在只有两个开发人员他们互不认识,一个开发数据层,一个开发业务逻辑层。在没有沟通的情况下,业务逻辑层并非主导,因为数据层决定我给你什么接口,不给你什么接口,我要改接口你也得跟着改。这种开发模式显然并不合适日益庞大的业务需求。在领域驱动的思想中,所有的工作中心都必须围绕业务层,必需让业务层做主导。前面那个假设就变成了业务层的开发人员制定数据接口,数据层以来这个数据接口,并实现它。这种情况下,业务层完全变成主导,要或者不要,改或者不改。
对比这两者。
传统模式 |
领域驱动 |
|
工作重心 |
数据库和仓储层 |
业务逻辑层 |
时间: 2024-12-17 08:53:14