开始说如果有改变impl需要去改变这个实现类里面的代码所以产生耦合了

开始说如果有改变impl需要去改变这个实现类里面的代码所以产生耦合了

可是通过注解工厂反射来实现的时候,impl改变了,还不是一样要去改变impl这个实现类里面的代码吗?感觉没有区别啊?

正在回答

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

1回答

同学你好,这里是指对程序的扩展。比如:UserService us = new  UserServiceImpl1();如果现在有一个UserServiceImpl2实现类,想使用UserService us指向UserServiceImpl2。这时需要修改为UserService us =new  UserServiceImpl2();是需要修改源码的,但是如果使用工厂类,可以在工厂类中,使用反射根据传入的类名的不同,返回不同的实现对象。就不需要修改代码了。这里老师只是举例一个例子,没有具体的写代码。

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

  • 慕圣3009968 提问者 #1
    所以这里的解耦只是说不用改代码,只需要增加代码改配置文件就行了?
    2019-04-28 14:09:56
  • 好帮手慕阿满 回复 提问者 慕圣3009968 #2
    是的,这只是解耦的一点实现。祝:学习愉快~
    2019-04-28 15:53:21
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

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

在线咨询

领取优惠

免费试听

领取大纲

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