ddd学习

贫血模型:

定义对象的简单属性值,对象实体不包括任何业务逻辑。

比如基于MVC开发的web服务中,许多对象实体属性的定义仅包括了一些get和set方法,不包括任何业务逻辑,业务逻辑存在统一的service层中去处理。

充血模型:

定义属性的同时也会定义方法,属性是可以通过某些方式直接得到属性值,通过在值对象中嵌入对应的业务逻辑获取属性值。

什么是ddd?

领域驱动设计(Domain-Driven-Design),是一种软件开发方法论,主要是用来指导如何解耦业务系统,划分业务模块,定义业务领域模型及其交互。

ddd组件:

Domain Primitive(DP)

primitive的定义:

dp是在一个特定领域,拥有精准定义的,可自我验证的,拥有行为的value object。

使用DP的三原则:

让隐性的概念显性化

让隐性的上下文显性化

封装多对象行为

实战--老应用重构的流程:

第一步:创建dp,收集所有dp行为

第二步:替换数据校验和无状态逻辑

第三步:创建新接口

第四步:修改外部调用

ddd的实体:

ddd的实体是拥有ID的域对象,除了拥有数据之外,同时拥有行为。

DDD的主要思想:

1.领域建模:领域建模是DDD的核心,目的是将业务抽象出来,通过对领域服务、领域对象、领域事件的定义,实现业务需求。

2.领域驱动架构:在DDD中有一套自己的分层架构,按照应用程序划分为四个层次,用户接口层、应用层、领域层、基础设施层,实现业务领域的划分。

3.领域事件驱动:领域事件是领域模型之间的一种交互方式。

DDD的实现流程?

确定业务领域

设计领域模型:实体、值对象、聚合、领域服务、事件。

统一使用语言

实现领域模型

应用架构设计

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值