Mvc – Why and how are Server-side Web MVC and client-side/desktop MVC not the same

architectural-patternsArchitecturemvcui

In MVC, does the view component deliver a new view to the user directly or indirectly via the controller component? says

The first thing to realize is that Server-side Web MVC (e.g. ASP.NET MVC & similar where controllers handle requests and views render to HTML) is not the same as client-side/desktop MVC/MVP UI pattern. In the UI pattern, generally the View component is the view (it doesn't create one). Also modern view widgets have the capability to detect user input, back when MVC was first created, widgets had no such capability (they were just pictures on the screen), so every widget had it's own MVC, where C handled the input – in modern MVC, C implements the nontrivial behavior of a larger view.

I was wondering why and how "Server-side Web MVC (e.g. ASP.NET MVC & similar where controllers handle requests and views render to HTML) is not the same as client-side/desktop MVC/MVP UI pattern"?

Are they different variants of MVC pattern?

Thanks.

Best Answer

MVC is a pattern, a model, a principle, a way of thinking. Assigning roles and responsibilities. If you need to test an implementation x to see if it is MVC, you need to prepare a series of questions to test against. Do we have a separation of data, presentation and control flow? That's it. The pattern does not concern itself with details of it's implementation.

Related Topic