【问题标题】:Why is Dependency Injection better than instantiation in Angular 2为什么依赖注入比Angular 2中的实例化更好
【发布时间】:2017-09-13 17:55:27
【问题描述】:

我正在尝试了解 DI 在 Angular 2 中的工作原理。

简单来说,DI 就是注入我们的组件可能需要的服务,而不是在组件类中创建服务或实例化服务。

(如果这是正确的,那么我觉得 Angular 2 documentation 是一个 有点误导,因为它使用“创建实例”的术语 在解释“注射器供应商”时

现在,从技术上讲,这归结为:- 使用构造函数而不是 new

但是,为什么,使用构造函数比使用 new 有什么优势呢?有没有我可以关注的在线示例/资源...

【问题讨论】:

标签: angular dependency-injection constructor angular2-services


【解决方案1】:

我能想到的最大优势是 DI 非常适合单元测试。想象一下,您想测试一个类,它的功能触发另一个单元,您想在不同的场景中测试它的功能。在这种情况下,如果您使用 DI,您可以创建一个虚拟对象实例,该实例将仅服务于该场景并注入它,以便您正在测试的单元可以被隔离。如果您在测试类本身中创建该实例,则无法实现此机​​制。

【讨论】:

    猜你喜欢
    • 2016-10-23
    • 2018-04-13
    • 2010-12-05
    • 1970-01-01
    • 2016-02-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多