April 12, 2024

SamTech 365

PowerPlatform, Power Apps, Power Automate, PVA, SharePoint, C#, .Net, SQL, Azure News, Tips ….etc

MVC model

Author : DAOUDI Samir | Context : MSc Software Engineering – Internet Programming

The article described in detail what is known as the adaptive web site-site development. Technic which was used to provide users with content and information (links and data) in response to different stimulus. Here, we are not considering only the event aspect, but a whole behaviour and profile information that all combined together, might provide the web server with better idea about in what the user may be intrested in and what content is more appropriate.

“An Adaptive Hypermedia System (AHS) or engine may change the content and presentation of nodes and may alter the link structure or annotate links, based on a user model. Such functionality can be achieved through some “standard” Web technology such as CGI-scripts, Java Servlets, or Active Server Pages.” (De Bra, 1999) This was the definition of the AHS. This technic or set of technics allowed the web developer to provide (in certain circumstances) specific content to the user, this ability depends on different criteria and is  not all the time exact. The technic had some weaknesses as the difficulties in separating the conceptual representation of an application domain from the content of the actual
Web-site. This made developers’ lives a pain when it was a question of separating these two layers.

Even if it was a real innovation at that time (1999). Due to the improvement in web development technics especially those in relation with the dynamic side of the web and the upcominf of Web 2.0 this is no longer seen as an extraordinary invention. In addition what was one of the weaknesses of the AHS is no the base of what is known as MVC framework.

What is MVC framework? MVC stand for Model View Controller pattern which is a pattern user in developping. MVC pattern is mainly based upon the separation of the different layers of an application. As each application we develop (or majority of them) are designed as follow:
– The database of files that store applications’ data.
– The business logic which is the set of rules that govern the application.
– The set of windows, frames and views, which are the interaction points between users and the applications. So separating these three layers seems to be logical and this is the idea that MVC pattern in based on.

MVC has been an important architectural pattern in computer science for many years. It is not a recent technics, originally named Thing-Model-View-Editor since the 1979. MVC is a powerful and elegant means of separating the different concerns in an application. For developers who are not familiar with this concept of separating layers, they might find things a little bit complex compared with classicla programming  technics, but the extraordinary advantages that can be taken from this approache are greater than the extra amount of efforts (Galloway et.al, 2011).


Paul De Bra (1999). Design Issues in Adaptive Web-Site Development. Available online at :http://wwwis.win.tue.nl/~debra//asum99/debra/debra.html

Adam Freeman, Steven Sanderson (2010). Pro ASP.NET MVC 3 Framework. Apress Edition.

Jon Galloway, Phil Haack, Brad Wilson, K. Scott Allen (2011). Professional ASP.NET MVC 3. ISBN: 1118155378.