Big idea MVC architecture Model View Controller Data and pro
Solution
The MVC Architecture is way to organize the workflow inside a sotfware system, It can be thought as a layered way to implement system behaviour.
These layers are: Model, View and Controller.
Model: Represents your Data Model, its the system core where all information related to it should be localized.
So for example: if you are going to desing a Game you\'ll need Players, Rules, Obstacles, and some logic related to the
 interactions of this elements such as : Players should be able to sort Obstacles when some set of Rules apply.
The Model is the first thing you should think off because its going to be the center of your applications.
Controller: This is where the magic happens and where the Layered Architecture meets the Object Oriented Paradigm it was intended to use.
Here is where you implement how does the system reacts when some application user request something about the app vai the user interface.
 The Controller should be able to handle the Model Objects, do operations with them to achieve what the user requested and then delegate the
 result to the corresponding View Layer to render it back to our user.
View: This is the Start and End Point of User interactions. Here is where you define how users interact with the application.
Nowadays is quite common users try to access, for example, web applications from different kinds of media such as: Mobile Phones, Tables, Pcs, Laptops, etc.
Generally each techonologie needs a diferent language to create the view, so imagine that your Data Model and the way that model interacts and
how you render that interactions is all hardcoded, there is absolutely no way to reuse your code in a way that is not CopyPaste.
The result is code that smells and lots of time wasted adapting the HOLE sysmte.
The virtude of having the View in a separated layer, allow us to work independently from the Model we are currently working on.
We only need to know how we should render the list of objects the controller is sendng us. How did he generated it is completly trivial. So , finally we got an independet Model that could be adapted as we see fit according to our current needs that not depends on how are we going to render it to the user.
Then, a Controller that captures users request that came from a view , process Model Objects, and then gives the information back to the View to render it.

