加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

依赖注入 – 依赖注入如何与仅使用全局变量不同?

发布时间:2020-12-14 00:48:41 所属栏目:百科 来源:网络整理
导读:我一直在阅读很多关于依赖注入的思想,这可能是一些非常先进的程序编程方式,但是我看不到只是避免全局状态的区别,因为没有全局状态,那么你被迫通过所有的依赖对象 有人可以向我解释,因为我认为我可能会错过关于依赖注入是什么的观点? 依赖注入是关于去耦码.
我一直在阅读很多关于依赖注入的思想,这可能是一些非常先进的程序编程方式,但是我看不到只是避免全局状态的区别,因为没有全局状态,那么你被迫通过所有的依赖对象

有人可以向我解释,因为我认为我可能会错过关于依赖注入是什么的观点?

依赖注入是关于去耦码.

当您通过传递参数避免使用全局变量时,您将解耦代码.您正在删除代码对全局变量的依赖关系.

您可以将此解耦推广到不仅仅是避免全局变量.采取以下代码:

def foo(arg):
   return ClassBar(arg).attr

foo(1)

函数foo依赖于或紧密耦合到ClassBar.原因不太好,你会被迫更新foo的时候:

>构造ClassBar变化的参数
>你想把ClassBar改成别的东西
>另一段代码想从另一个对象访问attr

如果代码被重写:

def foo(instanceBar):
   return instanceBar.attr

foo(ClassBar(1))

您已将联机推送到呼叫者.这从foo的定义中删除了依赖关系.在上述情况下,您无需更新foo.您的代码越多,解耦,您需要做的更少的代码更改.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读