title: What's the difference between Model-View-Presenter and Model-View-Adapter?
body: <p>I'm trying to understand whether there's a difference between the Model-View-Presenter and Model-View-Adapter patterns, and--if so--what that difference is. I haven't found any online resources that compare/contrast them, so I'm not even sure whether they're actually distinct.</p>
  
  <p>The descriptions I've found of them sound essentially identical to me. From what I've gathered, in both cases the control flow is basically:</p>
  
  <pre><code>View &lt;-- Adapter/Presenter --&gt; Model
  (where Adapter/Presenter can also respond to events from View and Model)
  
  View: the UI
  Adapter/Presenter: main logic; mediator between the UI and the data model
  Model: the data model
  </code></pre>
  
  <p>The Adapter/Presenter "knows about" the View and the Model, but the View and the Model don't know about anyone other than themselves.</p>
  
  <p>I expect that there's a subtlety that I'm completely missing here. What is it?</p>