anchor.diff:      it creates the matching directive class instance
       and gives that instance control over that portion of the browser DOM.
   
  +    ディレクティブはほとんどの場合HTML要素もしくは属性と連携します。
  +    その要素や属性をディレクティブ自身としてよく参照します。
  +    AngularはHTMLテンプレートの中にディレクティブを見つけると、対応するディレクティブクラスのインスタンスを作成し、
  +    ブラウザのDOMの一部においてそのインスタンスに制御を与えます。
  +
       Developers can invent custom HTML markup (e.g., `<my-directive>`) to
       associate with their custom directives. They add this custom markup to HTML templates
       as if they were writing native HTML. In this way, directives become extensions of
       HTML itself.
   
  +    開発者は、新しいディレクティブに紐付いたカスタムHTMLマークアップ(例えば`<my-directive>`)を作ることができます。
  +    そのカスタムマークアップはあたかも本来のHTMLを書くかのようにHTMLテンプレートに追加できます。
  +    このようにして、ディレクティブはHTML自身を拡張することになります。
  +
       Directives fall into one of three categories:
  +
  +    ディレクティブは3つの種類に分けられます：
   
       1. [Components](#component) that combine application logic with an HTML template to
       render application [views]. Components are usually represented as HTML elements.
       They are the building blocks of an Angular application and the
       developer can expect to write a lot of them.
   
  +    1. [コンポーネント](#component)。アプリケーションの[ビュー]をレンダリングするHTMLテンプレートと、
  +    アプリケーションのロジックをつなげるものです。通常、コンポーネントはHTML要素のことを指します。
  +    コンポーネントはAngularアプリケーションの構成要素であり、開発者によって記述されることが期待されています。
  +
       1. [Attribute Directives](#attribute-directive) that can listen to and modify the behavior of
       other HTML elements, attributes, properties, and components. They are usually represented
       as HTML attributes, hence the name.
   
  +    1. [属性ディレクティブ](#attribute-directive)。他のHTML要素、属性、プロパティ、およびコンポーネントの
  +    振る舞いを監視して変更することができるものです。名前からわかるように、通常、属性ディレクティブはHTML属性のことを
  +    指します。
  +
       1. [Structural Directives](#structural-directive), a directive responsible for
       shaping or re-shaping HTML layout, typically by adding, removing, or manipulating
       elements and their children.
  +
  +    1. [構造ディレクティブ](#structural-directive)。基本的には要素や子要素の追加、削除、および操作によって
  +    HTMLのレイアウトを成形したり再成形することを担当するディレクティブです。
   
   .l-main-section#E
   
  
positive.code:         that it decorates. None of the decorations shown here will "leak" to other
          classes appearing below it in the file.
  
        .alert.is-important
          :marked
            Always include the parentheses `()` when applying a decorator.
            A decorator is a **function** that must be called when applied.
  
  :marked
    ## Dependency Injection
  .l-sub-section
    :marked
      Dependency Injection is both a design pattern and a mechanism
      for creating and delivering parts of an application to other
      parts of an application that request them.
  
      Angular developers prefer to build applications by defining many simple parts
      that each do one thing well and then wire them together at runtime.
  
      These parts often rely on other parts. An Angular [Component](#component)
      part might rely on a service part to get data or perform a calculation. When a
      part "A" relies on another part "B", we say that "A" depends on "B" and
      that "B" is a dependency of "A".
  
      We can ask a "Dependency Injection System" to create "A"
      for us and handle all the dependencies.
      If "A" needs "B" and "B" needs "C", the system resolves that chain of dependencies
      and returns a fully prepared instance of "A".
  
      Angular provides and relies upon its own sophisticated
      [Dependency Injection](dependency-injection.html) system
      to assemble and run applications by "injecting" application parts
      into other application parts where and when needed.
  
      At the core there is an [`Injector`](#injector) that returns dependency values on request.
      The expression `injector.get(token)` returns the value associated with the given token.
  
      A token is an Angular type (`OpaqueToken`). We rarely deal with tokens directly; most
      methods accept a class name (`Foo`) or a string ("foo") and Angular converts it
      to a token. When we write `injector.get(Foo)`, the injector returns
      the value associated with the token for the `Foo` class, typically an instance of `Foo` itself.
  
      Angular makes similar requests internally during many of its operations
      as when it creates a [`Component`](#component) for display.
  
      The `Injector` maintains an internal map of tokens to dependency values.
      If the `Injector` can't find a value for a given token, it creates
      a new value using a `Provider` for that token.
  
      A [Provider](#provider) is a recipe for
      creating new instances of a dependency value associated with a particular token.
  
      An injector can only create a value for a given token if it has
      a `Provider` for that token in its internal provider registry.
      Registering providers is a critical preparatory step.
  
      Angular registers some of its own providers with every injector.
      We can register our own providers.
  
      Learn more in the [Dependency Injection](!{docsLatest}/guide/dependency-injection.html) chapter.
  :marked
    ## Directive
  .l-sub-section
    :marked
      An Angular class responsible for creating, re-shaping, and interacting with HTML elements
      in the browser DOM. Directives are Angular's most fundamental feature.
  
      A Directive is almost always associated with an HTML element or attribute.
      We often refer to such an element or attribute as the directive itself.
  
negative.code:       :marked
          Note that you can often achieve this same goal using [Angular modules](#angular-module) instead.
  
          同じ目的のために、[Angularモジュール](#angular-module)を使うことがあるので覚えておきましょう。
  
  :marked
    ## Binding
    ## バインディング
  