Most modern web applications implement the MVC architectural pattern. It consists of three interconnected parts that separate the internal representation of information in a web application:
- Model: Manages the business logic of an application that determines how data should be stored, created, and modified
- View: Any visual representation of the data or information
- Controller: Interprets user-generated events and transforms them into commands for the model and view to update accordingly:
![](https://static.packt-cdn.com/products/9781787281080/graphics/assets/8af28448-da9c-4fb3-84e8-ec8f0177ba72.png)
The Separation of Concern (SoC) design pattern separates frontend from backend code. Following the MVC architectural pattern, developers are able to adhere to the SoC design pattern, resulting in a consistent and manageable application structure.
The recipes in the following chapters implement this architectural pattern to separate the frontend and the backend.