课程名称:DDD(领域驱动设计)思想解读及优秀实践
课程章节: 战略设计
课程讲师: 尤达_技术咖啡
课程内容:
剥离领域模型与技术实现:建立分层架构
1,为什么要建立分层架构?
为什么要建立分层架构,目的是为了实现模型(对象)驱动设计,模型驱动设计就是严格按照领域模型来编写代码,代码和模型实现一对一的关系,不受其他因素干扰,但是在现实设计中很容易受到干扰,例如:为了数据库设计,会创建模型中不存在的模型(对象),或者省略一些模型。
2,分层架构为什么能够实现代码和模型一对一?
传统的mvc分层架构缺点:
**1,围绕表(数据crud)进行设计:**实体entity是数据的一个对象,是面向数据进行的编程(crud),来了需求之后先设计数据库表,然后围绕表进行增删改查。
导致业务逻辑和技术实现混杂在一起,业务逻辑和数据层绑定在一起,领域模型被技术方案给绑架(以技术实现为目的,不考虑设计因素),
3,DDD传统四层架构
接口层:消息路由,返回和接收对象(消息协议)解析和组装。
应用层:
表现层 User Interface 用户界面层,或者表现层,负责向用户显示解释用户命令
应用层 Application Layer 定义软件要完成的任务,并且指挥协调领域对象进行不同的操作。该层不包含业务领域知识。
领域层 Domain Layer 或称为模型层,系统的核心,负责表达业务概念,业务状态信息以及业务规则。即包含了该领域(问题域)所有复杂的业务知识抽象和规则定义。该层主要精力要放在领域对象分析上,可以从实体,值对象,聚合(聚合根),领域服务,领域事件,仓储,工厂等方面入手
基础设施层 Infrastructure Layer 主要有2方面内容,一是为领域模型提供持久化机制,当软件需要持久化能力时候才需要进行规划;一是对其他层提供通用的技术支持能力,如消息通信,通用工具,配置等的实现;
共同学习,写下你的评论
评论加载中...
作者其他优质文章