First of all of them are UI patterns, means they will deal with the problems in UI.
- Handles user interaction logic or in short contain methods which get called automatically in response to user events.
- It will decide which UI need to be sent to user as a response to request.
- In .net world can be created only in web projects.
- Talk to Model for Data and then bind UI with that Data. Hence we say Controller is something which know about both Model and View.
- Here View will be unaware about Controller.
o Presentation logic in UI. Example – Show button in Red color when value is greater than
o User interaction logic in UI. For that developer explicitly handle UI events and then
corresponding methods in presenter.
- It knows whom to talk in order to get some data that is model.
- It strongly follows an Object oriented principle “Program to an interface not to concrete classes”. It knows about View by means of Interface.
- It passes data back to view for display data, but indirectly using functions defined it Interface.
Creating and initialing (with correct View) interface object in Presenter is the responsibility of View itself.
Means we say View knows about Presenter, Presenter knows about Model but unaware about View.
Read 50 MVC interview questions with answers from this codeproject article http://www.codeproject.com/Articles/556995/Model-view-controller-MVC-Interview-questions-and
Are you new to MVC Start with the below MVC step by step video series