
MVC stands for Model View Controller is a Modeling Architecture that allows easy further modification and development by isolating user interface and logic engine. MVC consists of 3 main elements, first Model, acts as data element mapping. Usually, Model represents some data type or object that connected to database or data source. View is a user-interface element. Mostly, View has events like "on click", "on change", "on this", or "on that". The last, Controller, acts as a procedure or method for any processes or actions triggered by View’s events.
Each element comunicates using concept called Context. To simplify, usually Context is formed as a reference or pointer to native data type or object, that refers to some data variables inside every element --Model element, View, or Controller element--.
For complete ref, please go to: http://en.wikipedia.org/wiki/Model–view–controller
Sometimes people get wrong with MVC and 3-tiers architecture. If we talk about comparing between those two, they are not comparable, because they stand in 2 different concepts. 3-tiers architecture has 3 levels of tiers, presentation, logic, and data source /database tier; on the other hand, MVC has no database element. In some practical perception, MVC can be used to encapsulate presentation and logic tiers while leaving the database tier behind.
My daily use of MVC is when I do SAP Webdynpro programming. SAP Webdynpro is a part of SAP’s stuff that use web based application under SAP-enhanced Java-Eclipse. It has more SAP related libraries and objects so we can use it to connect to SAP server over RFC protocol.
I don’t know if this concept is being taught in my ex-collage Unpar. Because I and Ignat have told Lucky Adhie --my late lecturer-- that this subject should be taught in Advance Information System subject instead of just bringing any conventional architecture.
Correct me if I’m wrong with what I wrote above, I’m just trying to do some very simple “MVC for dummies” based on my experience and don’t want to share my stupidity to anyone :D…..
No comments:
Post a Comment