title: Sticky Notes project in WPF. Model, View, ViewModel
body: <p>I am working on a Sticky Notes project and doing the UI in WPF and obviously resorting to MVVM as my design choice for architecture. I am having second thoughts on what should be my Model, View and ViewModel.</p>
  
  <p>I have one class that is called Note, here is how it looks like:</p>
  
  <pre><code>class Note
  {
      public Guid ID { get; set; }
      public string Note { get; set; }
  }
  </code></pre>
  
  <p>And I also have User, which stores collection of Notes:</p>
  
  <pre><code>public class User
  {
      public Guid ID { get; set; }
      public Dictionary&lt;Guid, Note&gt; Notes = new Dictionary&lt;Guid,Note&gt;();
  }
  </code></pre>
  
  <p>So now I need to make my Model and ViewModel. First I was thinking to go with the most obvious approach, which is the Note itself is the Model, then have a NoteViewModel for the ViewModel. But then I thought, what if I make User as the model and have a UserViewModel class for the ViewModel. And if I do so, how do I implement INotifyPropertyChanged. If my model was Note, INotifyPropertyChanged implementation is straightforward. Your thoughts on this will be greatly appreciated.</p>