Model-View-Controller
Every software has an architecture which specifies its basic structure.
Small applications may not explicitly specify their architecture but for large systems architectural design is an important step.
Architectural style is like a style of the building.
There are some types of architectural styles with examples:
1) Pipes-and-filters: Compilers. The consecutive filters perform lexical analysis, parsing, semantic analysis, and code generation.
2) Event-driven: Notification services
3) Client-server: Online applications such as email, document sharing and banking
4) MVC: Web frameworks such as Django and Rails
5) Layered: E commerce web applications
6) Database-centric: inventory management software
Etc…
MVC (Model-View-Controller) is a popular way of organizing GUI apps where we can implement several views.
The main idea is to separate the data from the display.
If you work on projects with Django framework, you’ll be able to practice working with MVC pattern.
Though Django uses a little bit different terminology it follows main concepts of MVC.
Django uses Templates instead of Views and Views for Controller.
Below is the example of the MVC structure of my Django blog project.
Model
View
Controller