est*_*est 5 javascript dependency-injection inversion-of-control angularjs
关注这个问题
所以Python不需要IoC/DI,因为它已经是动态脚本语言了.
Javascript也是一个动态的脚本语言,为什么angularjs需要DI呢?
是因为JSON < - > DOM是静态的吗?有人能给我一个最小的例子吗?
Bri*_*sio 11
Angular中的依赖注入(DI)不是必要的决定.大多数其他JavaScript框架没有它内置的.(虽然看木偶,建立在Backbone.js的顶部框架...它包括一个可选的DI层).Angular.js附带了一组架构意见,可以帮助您分离代码.它是作为设计决策而非必要的.
你需要在Angular中使用DI的最大原因是因为这是Angular的工作方式.角度团队可能决定使用像Require.js这样的异步模块定义(AMD)库.相反,他们选择了DI图案并将其烘烤以方便使用.
您发布的链接表明DI可能是动态语言中的反模式.我不同意这一点.我只想说在动态语言中DI不太必要.然而,在Angular的情况下,它运作良好.它们允许您构建零件系统,并在需要时仅注入您需要的零件.当您查看其他框架的工作方式时,他们(通常)只是将其模型/视图/控制器/模板/路由器部件命名为全局空间(如Backbone.js中的App.Models.Person).
我发现Angular中的DI就像"在罗马时,像罗马人那样做".接受建筑决策.感觉很好.
| 归档时间: |
|
| 查看次数: |
3791 次 |
| 最近记录: |