2009-07-28 61 views
2

在诸如Ruby和Python的动态语言中,正式的IOC模式和传统的(对我们而言是静态的)接口驱动实现的概念并不存在。C#的动态密钥是否会弃用静态IOC模式?

请问C#'s upcoming Dynamic type是否会导致或至少需要静态IOC模式被消除?那MS's P&P Unity project需要231页的文档,我的脑海里闪过。当然更好的方法潜伏!

+0

我不确定我关注。动态类型如何改变你做IoC/DI的方式? – 2009-07-28 01:15:36

+0

动态类型不会改变获取的多少,但我认为对象存储库和配置可能会简单得多。动态类型不会缓解Binsor试图解决的痛苦:http://ayende.com/Blog/archive/2007/10/20/Dependency-Injection-doesnt-cut-it-anymore.aspx – 2009-07-28 21:01:18

回答

1

我个人不希望删除我的动态类型使用IoC的东西。我希望在任何可能的时候和可能的地方使用强类型代码,只有当我无法做到或者在使用Com或javascript时才进行动态输入。使用动态类型简单地删除IoC模式听起来像代码气味以支持TDD! IoC仍然是测试和解耦的最干净的方式。至少在我的脑海里。

2

他们解决不同的问题。在像JS这样的自动布线IoC中,其中一个问题是缺少静态类型 - 所以动态类型与IoC的一大优点相抵触。这就是说,在某些情况下动态类型不能用于接收IoC组件,并且可能有一些用途 - 我们将会看到。