您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
实例实战! 领域驱动四色建模法分析需求
 
   次浏览      
 2021-9-29 
 
编辑推荐:
本文主要首先梳理了四色建模法的概念,通过对事件,命令,实体的整理,我们把相关的实体整理到同一个领域中,这样就完成了使用DDD的四色建模!希望对您的学习有所帮助。
本文来自51CTO,由火龙果软件Alice编辑、推荐。

领域驱动和微服务的关系

自从微服务火了之后,如何去划定微服务的界限成了团队一直讨论不休的问题. 界限大了,一个库里面十几张表,又变成了以前的单体应用,界限小了, 一个微服务里面就一个方法, 然后还要用一个Jvm去跑

这时候,我们就可以用领域驱动来解决微服务界限划分问题,一个微服务代码一个领域,这样是再好不过了

领域驱动和以往的需求分析方法的不同

以往的需求分析:

实例实战! 领域驱动四色建模法分析需求_Java_02

前面先画用例图, 数据流图,时序图等, 这些确定下来之后,然后就开始建表,然后看这些数据应该怎么存,然后怎么取,然后再怎么操作,能完成这个用例功能.

领域驱动的需求分析:

一堵无限长的墙,一盒便利贴, 然后大家开始集思广益,想一想我们系统中会发生事件(代表的是状态, 不是动词),今天我们以现在正在开发中的小程序:凑心 为例, 这是一个可以匿名问答的小程序,那么它里面的事件就有, 问题已创建,答案已创建等等

领域驱动中的主要概念:

用以分析的案例:

小程序:凑心, 匿名问答, bring heart togather!

事件,命令,实体,补充信息

即然有了事件,那么就会有产生事件的源头-多条命令共同作用的结果.我们还是以问题已创建为例,先刷新名字,再输入问题,点击发送. 这三个命令产生了问题已创建的事件. 在第一步刷新名字时, 因为我们系统会默认给一个名字,所以这里可以加一个补充信息, 刷新名字(系统会随机默认一个)

事件有源头,也会有结果,如上问题已创建事件,就是产生一个问题实体

这样,我们就把下面四色建模法,对应的概念给梳理出来了

四色建模法

四个颜色代码,下面这个颜色分类,

用蓝色表示命令,用红色表示实体,用绿色表示领域事件,用黄色表示补充信息

于是,上面我们创建的问题,就可以做如下表述

在问题之后,我们可以对答案也做类似分析

还有我们的用户信息,因为我们是全匿名的,所以进来之后,只获取一个openID,没有获取手机号,也没有获取微信等信息

领域划分

通过上面对事件,命令,实体的整理,我们把相关的实体整理到同一个领域中,这样就完成了使用DDD的四色建模!

   
次浏览       
相关文章

为什么要做持续部署?
剖析“持续交付”:五个核心实践
集成与构建指南
持续集成工具的选择-装载
 
相关文档

持续集成介绍
使用Hudson持续集成
持续集成之-依赖管理
IPD集成产品开发管理
相关课程

配置管理、日构建与持续集成
软件架构设计方法、案例与实践
单元测试、重构及持续集成
基于Android的单元、性能测试
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
iPerson的过程观:要 过程 or 结果
“以人为本”的工程哲学
企业架构、TOGAF与ArchiMate概览
UML 图解:顺序图( sequence diagram )
UML 图解:对象图( class diagram )
最新课程
基于UML和EA进行系统分析设计
UML+EA+面向对象分析设计
基于SysML和EA进行系统设计与建模
UML + 嵌入式系统分析设计
领域驱动的建模与设计
更多...   
成功案例
某电信运营供应商 应用UML进行面向对象分析
烽火通信 UML进行面向对象的分析设计
西门子 UML与嵌入式软件分析设计
航天科工某子公司 从系统到软件的分析、设计
深圳某汽车企业 模型驱动的分析设计
更多...