为什么在动态语言社区如Python中很难看见IOC / DI的概念

为什么在动态语言社区如Python中很难看见IOC / DI的概念

Java中的IOC和DI是否真实的方便了我们编码呢?
还是说本质就是利用接口来配置实现类,方便实现类的切换,弥补静态语言需要重新编译的缺点
可是Python没有这些东西也一样好好的,是因为动态语言的缘故?还是这些概念只是一种过度设计?


回答:

个人见解,仅供参考:DI是实现IoC的一种方式,在Java中使用这种方式是因为Java项目本身的“重”决定的,推出这种方式可以简化常规开发者的开发难度,使开发者更加注重业务代码本身。说白了,这只是一种手段,一种方式,一种思想,在Py中你也是可以自己实现这种方式的,只是大多数Py项目的特质使得没有必要去搞DI容器。


回答:

IoC 和 DI 只是一种设计理念,理论上都可以去做。

就 php 而言,还可以使用 反射API 实现自动注入,在主流的 PHP 开发框架基本也是 IoC 为核心,比如 Larvel

而很多人一时半会理解不了 IoC 的概念。对于现代软件开发来说,IoC 是一种非常好的设计与实践。


回答:

我之前回答过这个问题 https://segmentfault.com/q/10...
与你这个很类似,不同语言使用场景还是有一些特化的。我想Java语言灵活性显然不如脚本语言,但大规模集团做站时,靠的主要是实力和策略, 灵活性没有什么帮助。 规范的前提能减少沟通环节的成本,定义好接口,依赖反转是把对接环节推迟到运行环节进行。就好比你做一个土星5号,不可能上来就集成的,一定是到最后的环节才组装。而且个别零件出问题一定是可以替换的。也是因为供应同样零件的有很多厂家。只对接口绑定,对实现松耦合是必然的要求。

要知道Spring的出现是为了简化J2EE的过于笨重的问题。而J2EE本身也是对分布式企业应用而出现的标准。

以上是 为什么在动态语言社区如Python中很难看见IOC / DI的概念 的全部内容, 来源链接: utcz.com/p/169029.html

回到顶部