anchor.diff:    
     现在`HeroListComponent`从`HEROES`获得英雄数据，一个在另一个文件中定义的内存数据集。
     它在开发的早期阶段可能还够用，但离完美就差得远了。
  -  一旦我们开始测试此组件，或者想从远端服务器获得英雄数据，我们将不得不修改`heroes`的实现，并要修改每个用到了`HEROES`模拟数据的地方。
  +  一旦我们开始测试此组件，或者想从远端服务器获得英雄数据，我们就不得不修改`heroes`的实现，并要修改每个用到了`HEROES`模拟数据的地方。
   
     Let's make a service that hides how we get hero data.
     
  -  我们来制作一个服务，来把获取英雄数据的代码封装起来。
  +  我们来制作一个服务，把获取英雄数据的代码封装起来。
   // #enddocregion di-3
   
   // Unnecessary for Dart
  
positive.code:   多方皆赢的方式。`Car`不需要知道如何创建`Engine`和`Tires`的任何事。
    消费者不知道如何创建`Car`的任何事。
    我们不需要一个巨大的工厂类来维护它们。
    `Car`和消费者只要简单的说出它们想要什么，注入器就会交付给它们。
  
    This is what a **dependency injection framework** is all about.
    
    这就是关于 **依赖注入框架** 的一切。
  
    Now that we know what dependency injection is and appreciate its benefits,
    let's see how it is implemented in Angular.
  
negative.code:     Framework developers may take this approach when they
      must acquire services generically and dynamically.
      
      框架的开发人员可能会需要此方法 —— 当他们不得不以通用和动态的方式获取服务时。
  // #enddocregion appendix-explicit-injector-2
  
  // TypeScript only? Unnecessary for Dart
  