【发布时间】:2011-08-07 20:29:08
【问题描述】:
为什么语言不将依赖注入集成到它们的核心(在最低级别:可能是编译),因为依赖是复杂性理论中万恶之源?这样可以避免使用框架。
我更倾向于编译型语言。
我的问题类似于最近在 .NET 中动态引入的鸭子类型。为什么未来 DI 不做类似的事情?
【问题讨论】:
-
PHP 是一种脚本语言。我更倾向于编译语言。
-
因为那样的话,该语言的用户将无法像孩子一样争论哪种框架最好。说真的,想象一下如果有人想出一种比语言实现的更好的方法来处理模式 X(在这种情况下是 DI)会发生什么?
-
我的观点是没有框架,所以他不会问自己任何问题,因为这很自然:)
-
@user310291 - 不,人们只会争论语言的 模式 实现!一个模式可以通过多种方式实现;没有对错之分。这会导致主观性,因此任何语言尝试强制执行'仅以这种方式'只会将有关框架的争论带到整个语言!说到主观性,这可能就是为什么这个问题会在接下来的几分钟内结束!虽然@Aliostad 的回答对我来说是成功的。
-
离题:从第一天开始,duck typing 就已经在 .NET 中了。例如,任何具有 GetEnumerator() 方法的对象都可以与 foreach 循环一起使用,它没有 来实现 IEnumerable..
标签: c# java frameworks dependency-injection inversion-of-control