anchor.diff:  a(id='useexisting')
   :marked
     #### useExisting - the *alias provider*
  -  #### useExisting - *别名provider*
  +  #### useExisting - *别名供应商*
     
     The `useExisting` provider maps one token to another. 
     In effect, the first token is an ***alias*** for the service associated with second token,
     creating ***two ways to access the same service object***.
     
  -  使用`useExisting` provider来把一个令牌映射到另一个。实际上，第一个令牌是第二个令牌所对应的服务的一个***别名***，构成***对一个服务对象的两种访问方法***。
  +  使用`useExisting` 供应商来把一个令牌映射到另一个。实际上，第一个令牌是第二个令牌所对应的服务的一个***别名***，构成***对一个服务对象的两种访问方法***。
   +makeExample('cb-dependency-injection/ts/app/hero-of-the-month.component.ts','use-existing')
   :marked
     Narrowing an API through an aliasing interface is _one_ important use case for this technique.
  
positive.code:   See both examples in the following `main.ts`
    where we list their service providers in an array in the second parameter of the `bootstrap` method.
    
    在下面`main.ts`的两个例子中，我们在`bootstrap`类方法的第二个参数的数组中，我们列出了它们的service providers（服务提供者）。
    
  +makeExample('cb-dependency-injection/ts/app/main.ts','bootstrap','app/main.ts')(format='.') 
  
  
negative.code:   Dependency Injection is a powerful pattern for managing code dependencies. 
    In this cookbook we will explore many of the features of Dependency Injection (DI) in Angular.
    
    依赖注入是一个强大的管理代码依赖链的架构样板。在这个“食谱”中，我们会讨论Angular依赖注入的许多特性。
    
  <a id="toc"></a>
  :marked
    ## Table of contents
  