Junior — Middle
Can you explain the distribution of responsibilities among components in the MVC architecture?
sobes.tech AI
Answer from AI
In MVC (Model-View-Controller) architecture, responsibilities are distributed as follows:
-
Model: responsible for data handling and business logic. It interacts with the database, performs calculations, and stores application state.
-
View: responsible for displaying data to the user. It receives data from the model and generates the interface (HTML, JSON, etc.).
-
Controller: handles user requests, processes them, interacts with the model to get or modify data, and selects the appropriate view for display.
Example in PHP:
class UserController {
public function show($id) {
$user = UserModel::find($id); // model
include 'views/user.php'; // view
}
}
Thus, MVC separates responsibilities, making maintenance and development easier.