携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情
前言
周末最大的意义在于,没人管你睡懒觉。
书接上文,我们讲到了领域驱动,但是忘了跟大家讲述其中一个infra层,这是领域驱动中的基础设施层,这个尤为重要,高楼大厦稳不稳就看你地基好不好,地基改得好高楼大厦倒不了。
项目结构
由toc目录下看到我们的文件构造分为APi层、APP层、Domain层、infra层,每个部分都对应了什么呢?让我来带你走进这个项目结构,来初探一下领域驱动的雏形。
api层
这个是用于接口使用方面的,一半我们成为入口层,他这里就会有大家常见的Control层,上一章节我们也讲过,但是没有讲到其中一个就是eventHanlder这个文件,他也是存在api层但是他对于刚入行的人来说会比较迷惑,这是什么?他是叫做响应事件,就是用于一些像是xxx时间定时触发xxx任务这种,触发的任务就是响应事件。xx消息接受到了触发xxx任务这种也属于响应时间,他也是处于入口上层,然后根据入口层 ->调用 service层然后跟上一文章一样流程走完处理。
infra层
这个是基础设施层,在上面 业务调完之后,他总得有一些基础数据支撑把,所以就交给了infra,我们可以看到里面有 feign远程调用,与repository数据层一样都为了提供简单处理的数据。这一层一般都是sql或者mongodb大多数是数据库这些交互,为了获取纯粹数据,然后这一层repository 我们做了拆分,infra存放具体实现,而domain存放的repository的接口,这样做的好处就是我随时可以换掉下面的基础设施层来达到防腐层的目的。