依赖注入作为语言特征?

pla*_*ano 19 dependency-injection inversion-of-control

是否有任何现有的编程语言明确地将依赖注入作为语言特性,如果是这样,是否有任何示例说明这些编程语言如何使用它们的语法将程序依赖性与其具体实现分开?

(请注意:我不是在寻找DI/IOC框架 - 我实际上正在寻找一种实际上已在该语言中内置此功能的编程语言).

Pet*_*ham 11

您不会将依赖注入视为语言功能,因为它通常被视为设计模式.设计模式出现的解决方法缺少语言功能-例如,如果你有这样的语言特性,你不需要工厂模式(见P12第一类类型弱势族群的介绍),如果你有多种方法作为一种语言功能,您别不需要双重调度模式.

DI是设计模式的语言特征是"参数模块".请参阅与Gilad Bracha的语言Newspeak相关的模块与DI 的讨论

  • 另请参阅关于"设计模式是编程语言中的弱点的迹象"的讨论 - http://www.oreillynet.com/onlamp/blog/2006/10/design_patterns_are_signs_of_w.html (3认同)
  • “如果你有一流的类型作为语言特性,你就不需要工厂模式”这个理论的任何例子或证明? (2认同)