anchor.diff:  .l-main-section
   :marked
     ## Define dependencies with providers
  -  ## 使用providers来定义依赖
  +  ## 使用供应商来定义依赖
     In this section we learn to write providers that deliver dependent services.
     
  -  在这个部分，我们学习如何编写providers来提供依赖服务。
  +  在这个部分，我们学习如何编写供应商来提供依赖服务。
     
     ### Background
     ### 背景知识
  
positive.code: :marked
     **See the [live example](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)**
     of the code supporting this cookbook.        
     获取本“食谱”的代码支持，**参见[在线例子](/resources/live-examples/cb-dependency-injection/ts/plnkr.html)**。
  .l-main-section
  
  <a id="app-wide-dependencies"></a>
  :marked
    ## Application-wide dependencies   
    ## 应用程序全局依赖
    Register providers for dependencies used throughout the application in the root application component, `AppComponent`.
    
    在应用程序根组件`AppComponent`注册那些被应用程序全局使用的依赖providers。
    In the following example, we import and register several services 
    (the `LoggerService`, `UserContext`, and the `UserService`)
    in the `@Component` metadata `providers` array.
    
    在下面的例子中，我们在`@Component`元数据的`providers`数组中，导入和注册了几个服务（`LoggerService`, `UserContext`和`UserService`)。
  
  +makeExample('cb-dependency-injection/ts/app/app.component.ts','import-services','app/app.component.ts (excerpt)')(format='.') 
  :marked
  
negative.code:   We encountered them twice in the *Hero of the Month* example, 
    in the *title* value provider and in the *runnersUp* factory provider.
    
    `OpaqueToken`具有这些特征。我们在*Hero of the Month*例子中遇见它们两次，一个是*title*的值，一个是*runnersUp* factory 供应商。
  +makeExample('cb-dependency-injection/ts/app/hero-of-the-month.component.ts','provide-opaque-token')(format='.')   
  :marked
    We created the `TITLE` token like this:
  