Angularjs 依赖注入是否特定于面向对象的模式?

Angularjs 依赖注入是否特定于面向对象的模式?,angularjs,symfony,oop,service,dependency-injection,Angularjs,Symfony,Oop,Service,Dependency Injection,我来自服务器端语言背景Symfony2。我所知道的是依赖注入和面向服务的体系结构是面向对象编程特有的。根据他们的文件: 围绕一组独立服务构建应用程序 类是一种众所周知且值得信赖的面向对象最佳实践。 这些技能是成为几乎任何语言的优秀开发人员的关键 我现在正在阅读客户端框架文档AngularJS,正是依赖注入一章。angularJs是用OOP编写的吗?请有人帮我理解 感谢您的帮助。当这个概念被称为依赖项注入时,它几乎总是用面向对象模式的措辞表达出来。但是传递函数可以使用的一叠可执行代码的想法只取决于

我来自服务器端语言背景Symfony2。我所知道的是依赖注入和面向服务的体系结构是面向对象编程特有的。根据他们的文件:

围绕一组独立服务构建应用程序 类是一种众所周知且值得信赖的面向对象最佳实践。 这些技能是成为几乎任何语言的优秀开发人员的关键

我现在正在阅读客户端框架文档AngularJS,正是依赖注入一章。angularJs是用OOP编写的吗?请有人帮我理解


感谢您的帮助。

当这个概念被称为依赖项注入时,它几乎总是用面向对象模式的措辞表达出来。但是传递函数可以使用的一叠可执行代码的想法只取决于语言系统是否有这样做的方法:函数类型、闭包、单子、承诺,或者任何可能起作用的东西。

当这个概念被称为依赖项注入时,它几乎总是用面向对象模式的措辞表达出来。但是,传递函数可以使用的一叠可执行代码的想法只取决于语言系统是否有这样做的方法:函数类型、闭包、单子、承诺,或者任何可能起作用的方法。

依赖项注入的概念基于以下想法:

实体对象、模块等不应以编程方式创建其所依赖的实体。 这些依赖项应该作为注入的参数传递。 这减少了不必要的耦合,并允许更容易地替换其他实现,例如,用于测试的替代数据源、存根或模拟 正如DougLuce在他的回答中所说,这个概念也可以应用于其他编程范例。该术语在面向对象的领域中最为常见,因为:

编程设计模式的起源是面向对象编程。 依赖项注入可以缓解大型面向对象程序过于紧密耦合、难以测试和容易更改的趋势。 在某些情况下,例如纯函数式编程,不需要依赖注入之类的东西,因为依赖注入往往是自然发生的

在没有面向对象特性的结构语言中,这个概念仍然非常有用,也许更有用。在非面向对象的结构语言中,依赖注入的明显且易于使用的机制是不一致的

由于JavaScript同时具有面向对象和功能的特性,我希望AngularJS程序员充分利用这些特性,并在适当的时候使用依赖注入。

依赖注入的概念基于以下思想:

实体对象、模块等不应以编程方式创建其所依赖的实体。 这些依赖项应该作为注入的参数传递。 这减少了不必要的耦合,并允许更容易地替换其他实现,例如,用于测试的替代数据源、存根或模拟 正如DougLuce在他的回答中所说,这个概念也可以应用于其他编程范例。该术语在面向对象的领域中最为常见,因为:

编程设计模式的起源是面向对象编程。 依赖项注入可以缓解大型面向对象程序过于紧密耦合、难以测试和容易更改的趋势。 在某些情况下,例如纯函数式编程,不需要依赖注入之类的东西,因为依赖注入往往是自然发生的

在没有面向对象特性的结构语言中,这个概念仍然非常有用,也许更有用。在非面向对象的结构语言中,依赖注入的明显且易于使用的机制是不一致的


由于JavaScript同时具有面向对象和功能的特性,我希望AngularJS程序员充分利用这些特性,并在适当的时候使用依赖注入。

谢谢,先生,我现在开始理解了。很好的解释谢谢先生,我现在开始理解了。解释得很好