anchor.diff:    ## Data Binding
     Without a framework, we would be responsible for pushing data values into the HTML controls and turning user responses
     into actions and value updates. Writing such push/pull logic by hand is tedious, error-prone and a nightmare to
  -  read as the experienced jQuery programmer can attest  
  +  read as the experienced jQuery programmer can attest.
   figure
     img(src="/resources/images/devguide/architecture/databinding.png" alt="Data Binding" style="width:220px; float:left; margin-left:-40px;margin-right:20px" )
   :marked
  
positive.code:   Look inside such a file and we'll see an `export` statement like this one.
  +makeExample('architecture/ts/app/app.component.ts', 'export', 'app/app.component.ts (excerpt)')(format=".")
  :marked
    The `export` statement tells TypeScript that is a module whose
    `AppComponent` class is public and accessible to other modules of the application
    
    When we need a reference to the `AppComponent`, we **import** it like this:
  +makeExample('architecture/ts/app/boot.ts', 'import', 'app/boot.ts (excerpt)')(format=".")
  
negative.code:   There is nothing specifically "Angular" about services. Angular itself has no definition of a "service". 
    There is no service base class, no place to register a "service".
    
    Yet services are fundamental to any Angular application. Our components are big consumers of services.
  
    We prefer our component classes lean. Our components don't fetch data from the server, 
    they don't validate user input, they don't log directly to the console. They delegate such tasks to services.
    
    A component's job is to enable the user experience and nothing more. It mediates between the view (rendered by the template)
    and the application logic (which often includes some notion of a "model").  A good component presents
    properties and methods for data binding. It delegates everything non-trivial to services.
  
    Angular doesn't *enforce* these principles. 
    It won't complain if we write a "kitchen sink" component with 3000 lines.
    
    Angular does help us *follow* these principles ... by making it easy to factor our
    application logic into services and make those services available to components through *dependency injection*.
  