EasonDian 2019-06-24 16:40 采纳率: 66.7%
浏览 803
已采纳

一直没理解的依赖注入

本人小白,最近项目用.net core来开发,里面用到了依赖注入,但是自己一直没有理解依赖注入的好处,都说依赖注入可以降低耦合,如果一个方法需要修改逻辑,我想说的是就算我用new的方式也可以实现只改被调用类代码就可以了啊?调用方的代码依然不用变。代码量也不会减少,所以到底依赖注入好在哪里呢?求通俗解释。

  • 写回答

2条回答 默认 最新

  • adele_handsome 2019-06-24 17:37
    关注

    假设有两个类a,b。其中a依赖b,换句话说就是a这个类要能使用,必须要有b这个类的实例。所以你每次使用a这个类时都要先去实例化b这个类,然后传入a这个类。这样会有很多重复代码。这样就不符合DRY原则了,重复的代码越少,可维护性越高。比如以后a这个类需要同时依赖a和c类,那你是不是就要把所有用到a类的地方都要做相应修改,每个修改的点是不是都要做测试。如果你写了单元测试的话,相应的单元测试也要做修改。
    想要详细了解依赖注入为什么很有用的话,可以看martin的文章。https://martinfowler.com/articles/injection.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 1月12日

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序