Hello friends,
Welcome back 🙂.
In this article, I’m writing about which the new developers consider a very big concept. The MVC
What is MVC?
MVC is actually a design pattern or a development architecture which is specifically used in developing dynamic web applications. It also can be used for static web applications. There are also other design patterns which are frame-worked for accomplishing specific development architecture. The MVC right now is used for implementing dynamic web applications, static web sites, desktop applications etc.
MVC Purpose
The major purpose of MVC design pattern is to segregate the code snippets based on their use.
- M stands for MODEL in which specifically db and data related operations performed.
- V stands for VIEW in which view related operations performed.
- And finally C for CONTROLLER which co-ordinates between Models and Views.
So due to the separation of codes by above sections, team work becomes easy and code maintenance becomes easy.
The team works on view (HTML, CSS, Javascript and its frameworks etc.) doesn’t need to be familiar with the technologies and code used in model and controller, only work related to design and presentation is important.
The team works on controller and model doesn’t need to be familiar with client side/view related technologies, only work related to business logic and control logic is important.
So that’s why code maintenance and team work becomes easy.
Architecture in detail
The key part of MVC framework is that it has a single point where all requests comes. In PHP, its `index.php` (or any other file which is configured in `.htaccess`), in Sprinv MVC, its DispatcherServlet (The servlet from spring framework).
Based on the URLs, configurations and routing mechanism, the main entry point executes only those code stuff which is required.
Due to its single entry point, the developer can add code for securities, sanitization, validation and many more common operations on each request.
After a single entry point, there are 3 main parts included in that MVC, the configuration, routing and library which are as follows:
Configuration :
The configuration part (might be stored in db or in a file) contains the essential and optional settings with its default values (which can be modified by providing GUI or its source or by any custom tool which works on terminal). The configuration may include db configurations, view path, debugging level configuration, logging configuration etc.
Routing:
Routing's job is to detect the URL, and based on the URL path (like https://host/controller/action?parameter=value), load the appropriate controller's class and call its appropriate method for that action.
Library:
The library is nothing but collection of classes and methods for different common generic operations. e.g. encryption and decryption of data, FTP/SFTP management, file operations etc.
The above 3 parts, the controllers, models and views is bundled and MVC is formed.
Thanks.
Comments
Post a Comment
Want to share something? Add here...