Controller is NOT to separate the View from the Model

February 10th, 2008

I used to think controller in MVC is to separate the view and the model, until I saw this blog An Introduction to the Model-View-Controller, Model-View-Presenter, and Presentation-Abstraction-Control Patterns where Derek Greer wrote,

One common misconception about the relationship between the MVC components is that the purpose of the Controller is to separate the View from the Model. While the MVC pattern does decouple the application’s domain layer from its presentation layer, this is achieved through the Observer Pattern, not through the Controller. The Controller’s job is to mediate between the human and the application, not between the View and the Model.

While the original idea of the Presenter was seen by the Taligent team as a Controller elevated to an application level, the Dolphin team mistakenly considered it a replacement of the VisualWorks’ Application Model and maintained the Presenter as a mediating component within the triad.

  • In MVC, controller is the human to model connector (intercepts user input).
  • In Taligent MVP, the presenter is the subsystem component connector (manages application subsystems).
  • In Dolphin MVP, the presenter is the presentation to domain connector (manages access to model updates).
  • In Passive View, the presenter manages presentation logic.
  • In Supervising Controller, the presenter assists with presentation logic.

Entry Filed under: Programming

Leave a Comment

Required

Required, hidden

Some HTML allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe to the comments via RSS Feed


Calendar

September 2010
M T W T F S S
« May    
 12345
6789101112
13141516171819
20212223242526
27282930  

Most Recent Posts


1