anchor.diff:    
     数据使用者并不知道本服务会如何获取数据。
     我们的`HeroService`服务可以从任何地方获取英雄的数据。
  -  它可以从网络服务器获取，可以从浏览器的局部存储区获取，也可以是直接写在源码中的mock数据。
  +  它可以从网络服务器获取，可以从浏览器的局部存储区获取，也可以是mock的数据源。
     
     That's the beauty of removing data access from the component.
     We can change our minds about the implementation as often as we like,
  
positive.code:   客户向我们描绘了本应用更大的目标。
    它们说，想要在不同的页面中用多种方式显示英雄。
    现在我们已经能从列表中选择一个英雄了，但这还不够。
    很快，我们将添加一个仪表盘来表彰绩效最好的英雄，并且创建一个独立视图来编辑英雄的详情。
    所有这些视图都需要英雄的数据。
    
    At the moment the `AppComponent` defines mock heroes for display.
  
negative.code:   Angular offers a number of interfaces for tapping into critical moments in the component lifecycle:
    at creation, after each change, and at its eventual destruction.
    
    这也不难。只要我们实现了Angular的 **ngOnInit** *生命周期钩子*，Angular就会主动调用这个钩子。
    Angular提供了一些接口，用来介入组件生命周期的几个关键时间点：刚创建时、每次变化时，以及最终被销毁时。
    
    Each interface has a single method. When the component implements that method, Angular calls it at the appropriate time.
  