A brief introduction about one of the most important technology for developed web application, the conjunction of that technology and the StarMe.io philosophy and all is explained in a very simple way, as if the readers were my parents.
MVC pattern definition
Model–view–controller (MVC) is a software architectural pattern for implementing user interfaces on computers. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. In details:
The model manages the data, logic and rules of the application. This could be a database, or any number of data structures or storage systems. In short, it is the data and data-management of the application.
The view effectively provides the user interface element of the application. It will render data from the model into a form that is suitable for the user interface.
The controller receives user input and makes calls to model objects and the view to perform appropriate actions.
This architecture has become extremely popular for designing web applications and currently it is the state of the art in software development.
MVC explained to my parents
Please imagine a therapist or a doctor with his diagnostic tool in a studio. A patient asks him to get a checkup. The diagnostic tool is the Model, the checkup is the View and the therapist is the Controller who applies the diagnostic tool to obtain the checkup.
Because the checkup does not know about the diagnostic tool or the therapist, the checkup is (should be) completely independent. This separation allows the therapist to use the diagnostic tool in every way he believes with the goal of getting a checkup from the patient. Nevertheless, we know that in real world and in scientific experiments, very often the watcher influences the measure or in other words, the choice the therapist does directly influences the outcome of the checkup.
Non-MVC architectures tend to be tightly integrated together. If the checkup, the therapist and the diagnostic tool were one-and-the-same-object, we would have to re-build both the diagnostic tool and formerly a new therapist every time a patient needs a new checkup!
MVC architecture is a must in software development!
Benefits to use MVC on StarMe.io
The MVC technology is one of the most modern approaches for the design of web application, with many different advantages like the separation from business logic and the user experience, then it allows to integrate many different technology, such as Entity Framework to manage database or with Xamarin, the most code will be reuse for a future mobile app. But there is also another reason why we are choosing this approach: it has a philosophy that is well suited for StarMe.io! As StarMe.io, the MVC allows every developing team member to work independently, no matter where he is or at what time he connects, sharing the updated technology as never before!