50 Shades of MVC
by Pablo Astigarraga
We at the Rails world are very proud of embracing the Model-View-Controller design pattern, it is integral to the way we build web applications and there is a general consensus that all of us generally know what we are talking about in regards to it, hell , most of our code files are under a model, controller or views directories! We've got to know what we are doing, right?
Much like Object Orientation the Model-View-Controller pattern is one of the most popular-yet-heavily-altered concepts in modern computer science, what were the original propositions of the pattern? How was it applied back in the 70's, when it was proposed as a part of Smalltalk? How much have we changed it to adapt it to the web application scene? How can we apply this to our day to day work in 2013? is altering the original pattern necessarily a bad thing? And now that we are at it: what is this DCI (Data , Context and Interaction) pattern everybody is suddenly really interested in? is it the new MVC? Should we rename our rails app directory tree to continue beeing the cool guys? When does it make sense to pile on to a new application design paradigm?
On this talk I present different aspects of the MVC pattern and its changes from its inception to modern day use, what to keep in mind about the pattern as opposed to a single framework's implementation of it and how knowing this should make us all around better programmers, I will also dig into how MVC plays along (and doesn't, sometimes) with the DCI pattern.