anchor.diff:    so we put it in the project's `#{_appDir}` folder, and
     we register it in the `providers` #{_array} of the metadata for our application root component, `AppComponent`.
   
  +  我们比较可能在整个应用程序的任何地方都需要一样的日志服务，所以我们把它放到项目的`#{_appDir}`目录，并在应用程序根组件`AppComponent`的元数据的`providers`数组里面注册它。
  +
   +makeExcerpt('app/providers.component.ts','providers-logger','app/app.component.ts (excerpt)')
   
   :marked
  
positive.code:       But of course, it is more meaningful to mark a class using the appropriate
        <a href="#{injMetaUrl}">InjectableMetadata</a> #{_decorator}.
  
  .callout.is-critical
    header Always include the parentheses
  
  
negative.code: 
    我们该如何让`Car`更强壮、有弹性以及可测试？
  
    <a id="ctor-injection"></a>
    That's super easy. We change our `Car` constructor to a version with DI:
  
    <a id="ctor-injection"></a>
    答案超级简单。我们把`Car`的构造函数改造成使用DI的版本：
  
  +makeTabs(
    'dependency-injection/ts/app/car/car.ts, dependency-injection/ts/app/car/car-no-di.ts',
  