Назад к вопросам
Junior — Middle
91
Можете объяснить, что представляет собой архитектурный паттерн Model-View-Controller?
Ответ от нейросети
sobes.tech AI
Model-View-Controller (MVC) — это архитектурный паттерн, который разделяет приложение на три основные компоненты:
- Model (Модель) — отвечает за данные и бизнес-логику. Она управляет состоянием приложения и взаимодействует с базой данных.
- View (Представление) — отвечает за отображение данных пользователю, то есть пользовательский интерфейс.
- Controller (Контроллер) — принимает пользовательский ввод, обрабатывает его, взаимодействует с моделью и обновляет представление.
Такое разделение помогает организовать код, облегчает поддержку и расширение приложения.
Пример: в веб-приложении пользователь нажимает кнопку (View), контроллер обрабатывает событие, запрашивает данные у модели, а затем обновляет интерфейс.
// Упрощённый пример
class Model {
public:
int data;
};
class View {
public:
void display(int data) {
std::cout << "Data: " << data << std::endl;
}
};
class Controller {
Model& model;
View& view;
public:
Controller(Model& m, View& v) : model(m), view(v) {}
void updateData(int newData) {
model.data = newData;
view.display(model.data);
}
};
int main() {
Model model;
View view;
Controller controller(model, view);
controller.updateData(42);
return 0;
}