java 依赖注入 静态,静态和动态语言中的依赖注入

简言之,在Python中,依赖注入不如在Java中那么重要,因为模块的有状态特性和元编程的作用。在

在像Java这样的语言中,类通常定义对象的蓝图,在运行时必须由任何导入对象的对象实例化。当您导入一个类时,您只得到该类的配方。在

相反,在Python中,导入模块可以做得更多。在导入过程中,您实际上是在命名空间中运行模块的代码—这意味着模块不仅可以构造模块本身引用的单例对象,还可以执行复杂的任务,例如在导入执行期间连接到数据库。当两个模块导入同一个被引用的模块时,第二个模块继承Python第一次导入时对该模块的评估概念,保留和更改第一个导入者可能已经做过的操作。此外,在Python和Ruby中扫描子模块要比在Java中容易得多,Java中更多的框架使用模块放置来指示函数(例如模型.py在Django中)比在Java中看到的要多(Java通常倾向于注释)。在

TLDR:Python(和Ruby)中的模块和类是有状态的,这在Java中很难复制,import语句的机制提供了依赖注入的大部分有趣部分(尽管不是IoC)。它不存在,只是没有必要。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值