手记

【备战春招】第15天+ 剥离领域模型与技术实现:建立分层架构

课程名称:DDD(领域驱动设计)思想解读及优秀实践

课程章节: 战略设计

课程讲师: 尤达_技术咖啡

课程内容:

剥离领域模型与技术实现:建立分层架构

1,为什么要建立分层架构?

为什么要建立分层架构,目的是为了实现模型(对象)驱动设计,模型驱动设计就是严格按照领域模型来编写代码代码和模型实现一对一的关系,不受其他因素干扰,但是在现实设计中很容易受到干扰,例如:为了数据库设计,会创建模型中不存在的模型(对象),或者省略一些模型。

2,分层架构为什么能够实现代码和模型一对一?

传统的mvc分层架构缺点:

**1,围绕表(数据crud)进行设计:**实体entity是数据的一个对象,是面向数据进行的编程(crud),来了需求之后先设计数据库表,然后围绕表进行增删改查。

导致业务逻辑和技术实现混杂在一起,业务逻辑和数据层绑定在一起,领域模型被技术方案给绑架(以技术实现为目的,不考虑设计因素),

3,DDD传统四层架构

接口层:消息路由,返回和接收对象(消息协议)解析和组装。

应用层:

表现层 User Interface 用户界面层,或者表现层,负责向用户显示解释用户命令

应用层 Application Layer 定义软件要完成的任务,并且指挥协调领域对象进行不同的操作。该层不包含业务领域知识。

领域层 Domain Layer 或称为模型层,系统的核心,负责表达业务概念,业务状态信息以及业务规则。即包含了该领域(问题域)所有复杂的业务知识抽象和规则定义。该层主要精力要放在领域对象分析上,可以从实体,值对象,聚合(聚合根),领域服务,领域事件,仓储,工厂等方面入手

基础设施层 Infrastructure Layer 主要有2方面内容,一是为领域模型提供持久化机制,当软件需要持久化能力时候才需要进行规划;一是对其他层提供通用的技术支持能力,如消息通信,通用工具,配置等的实现;

0人推荐
随时随地看视频
慕课网APP