美文网首页高级java
实例! 领域驱动四色建模法分析需求

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

作者: 微笑的小小刀 | 来源:发表于2020-03-12 09:33 被阅读0次

Java学习公众号: java技术大本营


java_subscribe

领域驱动和微服务的关系

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

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

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

以往的需求分析:

kcXZU7

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

领域驱动的需求分析:

ekZVLq

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

领域驱动中的主要概念:

用以分析的案例:

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

gh_819b53c0bd29_258

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

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

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

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

四色建模法

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

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

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

2zLBzG

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

oRdUmP

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

WIsjKv

领域划分

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

SxS84b

相关文章

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

    Java学习公众号: java技术大本营 领域驱动和微服务的关系 自从微服务火了之后,如何去划定微服务的界限成了...

  • 设计能力 - 你如何进行领域建模

    学习完整课程请移步 互联网 Java 全栈工程师 运用四色建模法进行领域分析 领域建模有很多种方法,对于同样的问题...

  • DCI: 与领域驱动设计,四色建模的关系

    DCI: 与领域驱动设计,四色建模的关系 - 切尔斯基 - 博客频道 - CSDN.NET http://blo...

  • 运用四色建模法进行领域分析

     领域建模有很多种方法,对于同样的问题域使用不同的建模手段得到的模型可能也不尽相同。于是我们经常听到这样一个问题:...

  • “领域驱动设计”答疑(五)

    问题: 重构项目如何借助领域驱动设计做指导? 简单地说:就是通过“领域建模”驱动对业务高效的学习和分析,并以“领域...

  • DDD四色建模-笔记

    四色建模法代表的领域对象类型分别为: 时标型(Moment-Interval)对象:具有可追溯性的记录运营或管理数...

  • DDD战略设计(1)四色建模法

    1. 方法介绍 四色建模法源于Peter Coad的《Java Modeling In Color With UM...

  • 四色建模法

    重点是,人、货、场1.梳理主干节点2.补充枝干节点 参考文章:四色建模法 infoq http://insight...

  • 领域驱动设计方法论之四色领域建模

    1.找到业务中的关键节点事件2.找出关键节点事件中的时标性对象3.找出时标性对象周围的人/地点/物 对象4.抽象出...

  • DDD建模⽅法

    ⽤例分析法 ⽤例分析法是领域建模最简单可⾏的⽅式。⼤致可以分为获取⽤例、收集实体、添加关联、添加属性、模型精化⼏个...

网友评论

    本文标题:实例! 领域驱动四色建模法分析需求

    本文链接:https://www.haomeiwen.com/subject/pmtyjhtx.html