作业思路是这样吗老师?

作业思路是这样吗老师?

1:把数据处理类CourseDao用interface关键字定义成一个接口类,然后用服务类CourseDaoImpl去实现CourseDao这个接口,并把CourseDao接口中的方法重写

2:然后在数据处理类CourseService去调用CourseDaoImpl中的方法

3:但是我想不懂

l  服务类CourseServiceImpl:

类型描述:

创建CourseDao对象,用于调用方法的返回值。

private CourseDao cd = new CourseDaoImpl();

方法:

此类中的方法形式与CourseService类完全一致,用于对CourseService中对应方法的调用。

这个CourseServiceImpl的作用是什么,因为我的理解是,CourseService已经去调用CourseDaoImpl中的实现方法了,为什么还要创建CourseDao对象,用于调用方法的返回值?

请问老师我对作业的思路理解正确吗?如果不对。请解答一下!还请老师不要贴其他回答的链接,不然可能会提示我没购买课程不给我看的,谢谢老师!

另外请解答一下我第三个问题,谢谢!

正在回答

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

1回答

同学你好!思路基本正确,但CourseService并不是用来做数据处理的,它使用来做业务处理的。业务处理CourseService也是用interface关键字定义成一个接口类,然后用服务类CourseServiceImpl去实现的。这样的设计思想是面向接口编程的思想。

  1. CourseServiceImpl是要实现CourseService的,CourseServiceImpl实现CourseService用来做一些业务逻辑的处理。并且是在CourseServiceImpl中去调用dao层的,也就是CourseDao。

   2. 我们并不是创建CourseDao对象,而是创建了CourseDaoImpl对象,通过CourseDao来引用,这是面向接口编程的一种思想,同学你可以简单地理解为是一种编程规范。

同学可以通过这样的方式来实现:通过 CourseDaoImpl implements CourseDao
CourseServiceImpl implements CourseService,在CourseServiceImpl里面创建dao层对象,再调用相关的方法就可以了。

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~


  • MasonM 提问者 #1
    老师,既然CourseDaoImpl实现了CourseDao接口并重写方法,那为啥在CourseServerImpl类中,不直接private CourseDaoImpl cd = new CourseDaoImpl(); 而是要private CourseDao cd = new CourseDaoImpl();呢?
    2019-04-24 17:29:19
  • 好帮手慕柯南 回复 提问者 MasonM #2
    同学你好!这是多态的一种体现,在真正的开发过程中,项目都很复杂,用接口管理更为方便,并且代码的健壮性更好。如果不用接口的话,假如修改了dao中的代码,因为service引用了dao中的类,那么也要改变service里面的代码,改完之后要重新编译运行,当项目比较大的时候,编译和运行很浪费时间的,而且会产生一些意外,所以会使用private CourseDao cd = new CourseDaoImpl();祝学习愉快~
    2019-04-24 17:53:26
  • MasonM 提问者 回复 好帮手慕柯南 #3
    老师为什么CourseServer也要定义成接口类呢?
    2019-04-24 19:22:39
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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