今日任务是,搭建后端项目底层架构
好几个月没有敲后端代码的我,尽管有老师提供搭建视频和材料,但是我还是做得磕磕绊绊,很多依赖甚至都没有听过。对着视频一帧一帧地,像个初学者一样一个字母一个字母地敲,报错时也不清楚是问题出在哪里,便回去一遍一遍地看。虽然笨拙,但是好在没有报错了。
学习还是不能停下啊。
在搭建过程中,最让我惊叹的设计,就是子模块的划分和类之间的继承和多态。
比如上图中,车票服务模块又分成了t31-ticket-service模块和t31-ticket-interface模块,其中,t31-ticket-interface主要包含API和实体类, t31-ticket-service则包含具体的服务实现。这样划分模块的好处就是,不需要暴露不必要的接口,t31-ticket模块与其他模块的交互,只需要让t31-ticket-interface模块暴露就可以,即其他模块如果需要引用t31-ticket模块的接口实体类,只需要引入t31-ticket-interface。
第二点就是代码复用,引用搭建材料的话:
借鉴MybatisPlus的思想,通过po、dao、service、controller继承各⾃的基类,这样具体业务的
CRUD代码就不需要在写代码了,各⾃继承相应的基类即可
![](https://i-blog.csdnimg.cn/blog_migrate/bb1da6c2dda2926705342109040cd202.png)
比如,
ICrudDao是dao层基类,Dao层类继承此类,就可以使⽤Mybatis Plus的BaseMapper提供的标准的增删改查⽅法了,而自定义方法selectByPage(T)用于查询分页,这正是代码多态的体现。
●
增删改查功能是乘客和⽤户都有的功能⽅法,因此可重⽤
●
加⼊⿊名单⽅法是⽤户特有⽅法,乘客没有的⽅法,因此不可重⽤