title: Inheriting from one base class that implements INotifyPropertyChanged
body: <p>I've been using the following bit of code in a cookie cutter fashion, across dozens of classes</p>
  
  <pre><code>public event PropertyChangedEventHandler PropertyChanged;
  
  protected void NotifyPropertyChanged(string propertyName)
  {
     if (PropertyChanged != null)
     {
        PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
     }
  }
  </code></pre>
  
  <p>All of these classes implement <code>INotifyPropertyChanged</code>. To silence my DRY alarms, lately I've been refactoring these classes to inherit my base class <code>PropertyNotifier</code> whose only purpose is to provide <code>NotifyPropertyChanged</code> for classes that inherit from it -- which are the dozens of <code>ViewModel</code> classes in my huge project.</p>
  
  <p>It feels lazy and a bit dirty. Am I hurting performance or breaking good design practices? I figure if change notification was supposed to be this easy, there would be a base class already in the WPF framework that does what my <code>PropertyNotifier</code> class does.</p>
  
  <p>Note that, for a lot of reasons, I've been having performance issues with my UI responsiveness -- mostly due to a large number of controls. So I'm looking to trim the fat wherever I can. Any ideas?</p>