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

在传统的开发流程中。

前三个步骤分别是

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

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

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

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

 

表 示 层 (UI)

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

对比这两者。

 

传统模式

领域驱动

工作重心

数据库和仓储层

业务逻辑层

posted on 2017-01-01 02:21  countrybuilder  阅读(357)  评论(0编辑  收藏  举报