title: When to use Interface and Model in TypeScript / Angular
body: <p>I recently watched a Tutorial on Angular 2 with TypeScript, but unsure when to use an Interface and when to use a Model for data structures.</p>
  <p>Example of interface:</p>
  <pre><code>export interface IProduct {
      ProductNumber: number;
      ProductName: string;
      ProductDescription: string;
  }
  </code></pre>
  <p>Example of Model:</p>
  <pre><code>export class Product {
      constructor(
          public ProductNumber: number,
          public ProductName: string,
          public ProductDescription: string
      ){}
  }
  </code></pre>
  <p>I want to load a JSON data from a URL and bind to the Interface/Model. Sometime I want a single data object, other time I want to hold an array of the object.</p>
  <p>Which one should I use and why?</p>