3 ms·
Enough with all the 'hand wavy' MVC application already! MVC had a brief resurgence in the mid 00s with frameworks. So, everybody who learned web development d
by EvanPlaice 11y ago
Enough with all the 'hand wavy' MVC application already!
MVC had a brief resurgence in the mid 00s with frameworks. So, everybody who learned web development during that time following MVC (mistakenly) tries to shoehorn everything into the same mental model.
For example, here's a modern Angular2 SPA + Microservice architecture in terms of MVC...
Front-End (VCVCM?C?):
HTML/CSS + Routes + Templating + Services
V C VC M?C?
Backend (N/A):
LoadBalancer + Node HTTPD (*N Instances) + Cache + Database
? See Below ? ?
HTTPD (CMCC):
StaticFileAPI + DataAPI + RedirectCatchallAPI
C MC C
Altogether that makes this a VCVCM?C?CMCC
It's like devs who learned one OOP language and thing everything in the world that can't be described in OOP terms is garbage.
OK, so now that I've probably offended both the MVC and OOP crowd. Can we call this what it is?
Separation of Concerns...
Expand your perspective a bit. Try out a new worldview or two. See if you can find one where you don't have to 'hand wave' away the details.
MVC only really works to describe self-contained, monolithic, desktop applications. Even when it was applied to web development, it only really described the backend server portion and completely ignored the role the client.
Moral of the Story: Network architectures are inherently complex and multi-layered. That's what makes them so powerful. With well defined APIs it's possible to break out of a monolithic application mindset and do very interesting things.
- mobiuscog 11y agoYou don't seem to be able to grasp that a 'modern' multi-layered application / architecture can always be broken down into self-contained 'monolithic' components. Which you can apply MVC to. In multiple ways. If you want to use that as a way of abstracting the concepts. Maybe you think that input->process->output is too simplistic to be the answer to every software engineering problem ?
- EvanPlaice 11y agoYou don't seem to grasp the point of my comment. The format mangling probably didn't help. I'm saying that the term MVC has been diluted and misused to the point that it no longer carries a specific -- and therefore useful -- meaning. It has become web 2.0 part deux. Maybe you think that input->process->output is too simplistic to be the answer to every software engineering problem? In the most general and abstract terms, no. Likewise, what value is to be gained from discussing application architecture in excessively general and abstract terms?