关于获取子分类的方法

关于获取子分类的方法

请问一下老师,谢谢!


相关截图:

https://img1.sycdn.imooc.com//climg/639568420918036a12981141.jpg

问题描述:

1、这里字符串的拼接为什么使用StringBuilder,不直接使用String?是对性能有提高还是什么?在这里两种方式不都是只创建了一个对象?

2、这里获取分类集合的方法直接通过categoryMapper的方法去获取是否可以,与老师的通过categoryService的方法去获取有什么区别,哪种方式相对解耦?实际开发中是推荐哪种?


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕小小 2022-12-11 16:55:15

同学你好

  1. 因字符串String在拼接时可能会创建一些对象,故String的执行效率低于StringBuilder。如果有少量的字符串操作,可以使用String,否则建议使用StringBuilder。

    相关课程回顾:3-2 String与StringBuilder的区别及应用场景 

  2. 在Controller层可以通过categoryMapper调用方法,但是不建议,不符合MVC模式,建议按照课程书写代码。

    MVC模式讲解回顾:https://class.imooc.com/lesson/2265#mid=55242 

    Dao(mapper)层的职责是:对数据库进行增删改查的操作,并且只处理这些操作,是相对单一的职责。

    当需要处理业务逻辑时,需要创建Service层的接口以及对应实现类。创建接口可以提高代码的可维护性,未来具体实现需要更改的时候,可以减少其他关联代码的更改量。

    Service的职责是:

    (1)接收Controller传来的数据,书写业务逻辑代码;

    (2)当需要访问数据库时调用Dao接口方法;

    (3)当需要反馈数据时,将数据返回给Controller。

    在Controller-Service-Dao代码结构中,每个层次所处理的职责都是明确的,更有利于代码解耦,代码维护

祝学习愉快~

  • 提问者 信纸呀 #1

    意思就是说在Service层去调用其它模块的Service层方法比在Service层去调用其它模块的Dao层要好?

    2022-12-11 18:42:56
  • 提问者 信纸呀 #2

    https://img1.sycdn.imooc.com//climg/6395f2c609e406e716251103.jpg

    那老师后面在第8-3讲创建订单时为什么在Service层调用其它模块的Dao层?

    2022-12-11 23:11:57
  • 好帮手慕小小 回复 提问者 信纸呀 #3

    同学你好,推荐在controller层使用service层实例调用service层代码,在services层使用dao层实例调用dao层代码。

    https://img1.sycdn.imooc.com//climg/63968f1009c0f54d06130272.jpg

    例如:

    https://img1.sycdn.imooc.com//climg/63968fc90919fd7b05520705.jpg

    祝学习愉快~

    2022-12-12 10:20:09
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师