为了编写可测试的C#代码,我大量使用DI.
不过最近我一直在和IronPython搞砸,发现你可以嘲笑任何你喜欢的方法/类/功能等等,DI的需要就消失了.
对于像Python这样的动态联盟,情况就是这样吗?
代替:
class Person(Address) { ...
你可以有:
class Person() { ... // Address initialised in here.
对于动态语言,因此根本不需要动态联盟的动态DI.
有什么建议吗?
依赖注入也是关于如何将东西联系在一起的 – 这与依赖对象的可塑性无关.有一个Foo实例需要某种类型的Bar连接直接实例化,并且完全忽略它如何获得该连接只要具有它的区别.
如果您使用依赖注入,您也可以获得更好的可测试性.但相反的是不正确的.能够覆盖任何东西的更容易的可测试性不会带来依赖注入的其他优点.完全由于这些原因,Python有许多组件/ DI框架.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。