为啥rpc通信就有解耦合的效果了

Hello__World1994 2019-07-30 10:24:41
到底什么是耦合,什么是依赖搞的我优点晕,
两个模块之间使用rpc通信调用方法 和 直接用spring框架注入在我看来没啥区别啊,都是方法成功正常返回结果,不成功抛出异常,为啥改成rpc就解耦合了呢
...全文
156 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Hello__World1994 2019-07-31
  • 打赏
  • 举报
回复
引用 1 楼 卢囧囧 的回复:
spring 框架注入的只能是本项目里面的,也就是业务逻辑是写在同一个项目里面的,如果要修改这个功能,那么整个项目都要重新上线打包,RPC通信调用,是分开的,是另外一个项目的,假如现在有5个功能,功能1,功能2,功能3,功能4,功能5,如果用spring注入的方式,那么修改功能1了,那么整个工程都需要重新打包部署,如果用rpc通信,功能1 2 3 4 5分别在5个项目里,修改功能1的时候,主项目和其他4个功能的项目都不用动,只需要将功能1所在的项目重新打包部署就行了,所谓耦合就是 业务逻辑都在一起,极端的比如把所有逻辑都写在一个类的一个方法里,这时候你要修改一点功能是不是就牵一发而动全身了,解耦就是业务逻辑尽量分开、相关联不大的,分别分到不同的方法里、类中、项目里,这样你修改相关功能的时候只要关注当前需要修改的功能逻辑就可以了,不用考虑你这块修改对其他方面的影响,看你的样子应该是刚学习编程,刚开始学习的时候逻辑都很简单,可能也就几个类,所以不理解这样的好处,实际工作中,几百个类,几千个类都很正常,一个类1000多行代码的这种,解耦就很重要了
谢谢指点,确实还在学习中,没有项目上线什么的经验,没考虑到这一点
卢囧囧 2019-07-30
  • 打赏
  • 举报
回复
spring 框架注入的只能是本项目里面的,也就是业务逻辑是写在同一个项目里面的,如果要修改这个功能,那么整个项目都要重新上线打包,RPC通信调用,是分开的,是另外一个项目的,假如现在有5个功能,功能1,功能2,功能3,功能4,功能5,如果用spring注入的方式,那么修改功能1了,那么整个工程都需要重新打包部署,如果用rpc通信,功能1 2 3 4 5分别在5个项目里,修改功能1的时候,主项目和其他4个功能的项目都不用动,只需要将功能1所在的项目重新打包部署就行了,所谓耦合就是 业务逻辑都在一起,极端的比如把所有逻辑都写在一个类的一个方法里,这时候你要修改一点功能是不是就牵一发而动全身了,解耦就是业务逻辑尽量分开、相关联不大的,分别分到不同的方法里、类中、项目里,这样你修改相关功能的时候只要关注当前需要修改的功能逻辑就可以了,不用考虑你这块修改对其他方面的影响,看你的样子应该是刚学习编程,刚开始学习的时候逻辑都很简单,可能也就几个类,所以不理解这样的好处,实际工作中,几百个类,几千个类都很正常,一个类1000多行代码的这种,解耦就很重要了

81,091

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧