DDD领域驱动设计记账软件实战教程–划分领域和聚合
本文章为实战教程,主要内容包括:
- 从零使用DDD构建一个记账软件
你是否有以下疑问?
- 你是一个DDD软件开发人员,但是只是按照现有的项目去写,如果自己搭建一个新项目就无从下手了?
- 你是一个传统软件开发人员,想使用DDD重构软件,却不知道如何入手?
- 你看过很多DDD的文章,了解DDD概念,却没有一个从头到尾的完整教程,无法把碎片化的知识串起来?
本文章带你从头构建一个完整的DDD项目。由点到面的串联起来所有的知识。达成一个完整的知识图谱。
事件风暴
首先需要进行事件风暴。整理出来所有的命令、业务流和事件。
- 命令:可以简单理解为一些行为。这些命令可以映射成代码模型中的一个个方法。
- 业务流:可以按照场景进行分析业务流,比如对于记账软件来说:记账场景、查账场景就是两个不同的场景,可能有不同的业务流。业务流可以映射成代码模型中的接口。
- 事件:可以简单理解成上面的命令产生的一些事件。会有一些
监听者异步监听这些事件并实现一些逻辑。
我们来分析一些记账场景会有哪些业务流。
首先用户需要注册登陆。因此我们可以识别出注册业务流和登陆业务流。继而识别出注册命令和登陆命令。
对于登陆业务流中来说,除了登陆命令,还可以有查询用户、校验用户信息、生成token等命令。这些命令共同完成了一次登陆业务流。
此外,还会产生对应的事件。比如用户已注册事件、已登陆事件等。
对于已注册事件,我们可以发送注册成功的消息提醒。还可以

最低0.47元/天 解锁文章
68

被折叠的 条评论
为什么被折叠?



