title: Difference between Observer, Pub/Sub, and Data Binding
body: <p>What is the difference between the <strong><a href="http://en.wikipedia.org/wiki/Observer_pattern" rel="noreferrer">Observer Pattern</a></strong>, <strong><a href="http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern" rel="noreferrer">Publish/Subscribe</a></strong>, and <strong><a href="http://en.wikipedia.org/wiki/UI_data_binding" rel="noreferrer">Data Binding</a></strong>?</p>
  
  <p>I searched around a bit on Stack Overflow and did not find any good answers.</p>
  
  <p>What I have come to believe is that data binding is a generic term and there are different ways of implementing it such as the Observer Pattern or the Pub/Sub pattern. With the Observer pattern, an Observable updates its Observers.  With Pub/Sub, 0-many publishers can publish messages of certain classes and 0-many subscribers can subscribe to messages of certain classes.</p>
  
  <p><strong>Are there other patterns of implementing "data binding"?</strong></p>