C#和#x27;s动态键不赞成静态IOC模式?

C#和#x27;s动态键不赞成静态IOC模式?,c#,dynamic,inversion-of-control,C#,Dynamic,Inversion Of Control,在Ruby和Python等动态语言中,不存在正式的IOC模式和传统(对于我们静态的家伙来说)接口驱动实现的概念 是否会导致或至少能够消除对静态IOC模式的需求?这需要231页的文档,这让我难以置信。当然还有更好的办法 我个人不想为了使用动态键入而删除我的IoC内容。我希望在可能的时候和地点使用强类型代码,只有在我无法使用其他方法或使用Com或javascript时才使用动态类型。简单地使用动态键入来删除IoC模式听起来像是支持TDD的代码味道!IoC仍然是进行测试和解耦的最干净的方式。。。至少在

在Ruby和Python等动态语言中,不存在正式的IOC模式和传统(对于我们静态的家伙来说)接口驱动实现的概念


是否会导致或至少能够消除对静态IOC模式的需求?这需要231页的文档,这让我难以置信。当然还有更好的办法

我个人不想为了使用动态键入而删除我的IoC内容。我希望在可能的时候和地点使用强类型代码,只有在我无法使用其他方法或使用Com或javascript时才使用动态类型。简单地使用动态键入来删除IoC模式听起来像是支持TDD的代码味道!IoC仍然是进行测试和解耦的最干净的方式。。。至少在我看来。

他们解决不同的问题。在JS中自动连接IoC的问题之一是缺少静态类型,因此动态类型的工作与IoC的一大好处背道而驰


也就是说,在某些情况下,没有理由不使用动态类型来接收IoC组件,而且可能会有一些用途——我们将拭目以待。

我不是建议撕毁和替换现有代码——我理解这一点。但是动态的东西似乎是走出静态的国际奥委会停机坪的好方法。我喜欢国际奥委会的工作方式。它使我的代码更具可读性,因为依赖关系是预先声明的。另外,使用StructureMap这样的工具,配置开销很小,并且允许我的应用程序具有巨大的灵活性,允许我为同一“东西”注入不同类型的实现。IoC模式使我能够更轻松地进行测试,并允许我控制注入的内容。IoC容器为交换和配置提供了附加值。这比动态打字给我的要多!安德鲁,还有一件事。。。你也看过温莎城堡吗?StructureMap还为你击败了哪些IOC?谢谢,我不太明白。动态类型将如何改变您执行IoC/DI的方式?动态类型不会改变太多的获取,但我认为,对象存储库和配置将能够简单得多。动态类型难道不能缓解痛苦或试图解决问题吗