anchor.diff:  :marked
     ## Refresh the AppModule
     
  -  ## 刷新AppModule
  +  ## 更新AppModule
     
     We return to the `AppModule`, the application's root module, and teach it to use the `HeroDetailComponent`.
   
  
positive.code:     where we also explain why *target* properties require this special treatment and 
      *source* properties do not.
      
      我们在[这里](../guide/attribute-directives.html#why-input)详细解释了输入属性，以及为什么*目标属性*需要“显式定义”这样的特殊待遇，而*来源属性*却不需要。
      
  :marked
    There are a couple of ways we can declare that `hero` is an *input*. 
  
negative.code:   现在它们还很小，但很快它们都会长大。
    我们将来肯定会收到新需求：针对这一个，却不能影响另一个。
    然而，每一个更改都会给这两个组件带来风险，并且带来双倍的测试负担，却没有任何好处。
    如果我们需要在应用的其它地方复用英雄详情组件，英雄列表组件也会跟着混进去。
    
    Our current component violates the 
    [Single Responsibility Principle](https://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html).
    It's only a tutorial but we can still do things right &mdash; 
    especially if doing them right is easy and we learn how to build Angular apps in the process.
    
    我们当前的组件违反了[单一职责原则](https://blog.8thlight.com/uncle-bob/2014/05/08/SingleReponsibilityPrinciple.html)。
    虽然这只是一个教程，但我们还是得坚持做正确的事 —— 况且，做正确的事这么容易，我们何乐而不为呢？别忘了，我们正在学习的就是如何构建真正的Angular应用。
    
    Let’s break the hero details out into its own component.
  