学员任务 推评分2022 电影详情模块 核心代码
篝火
7.0分
3
导师点评
V

科鲁

特约顾问
前蚂蚁金服技术专家
7.0分

这个作品基本上实现了接口上所提供的数据参数,但是有几个问题是比较重要的

1、要理解哪些东西放在web层,哪些东西放在service层
我们说方法层放的是可以通用的可重复的方法。
而这个详情页的接口,是在这个模块上单独的一个流程要求,不会有其他的模块会向加载详情数据这么多的参数配合。
所以要把这个模块移到web层

2、我们的三层结构,就是为了实现更好的复用性。
但是在方法区,引入mp,特别是查询的部分,会让整个数据查询的逻辑非常重复,也就是一个逻辑,或者他的变形会散布在各个方法里面。复用性就很差
尤其是当数据层发生变化的情况,需要改变很多方法里的定义。
这也是很多在乎性能的中大公司,不太建议使用mp,尤其是查询不允许使用mp的原因
而且一定要知道,sql脚本是最重要的,数据查询,对返回值的参数指定和动态查询等等,Mp的封装都会比较复杂,而且性能上会有些问题

建议就算使用mp,查询的部分可以拿出来用mapper,来进行解耦

3、一般情况下,在逻辑流程上,习惯先对参数进行非法校验,也就是他等于空的时候,我们就直接返回。
这样代码里面就不会因为每次查询的结果的正确性的判断,导致很多的else。