Junior — Middle
67
Объясните принцип модели Model-View-Controller и её роль в разработке приложений
Компании, где спрашивали
Танто-С
Стилсофт
Ответ от нейросети
sobes.tech AI
Модель Model-View-Controller (MVC) — это архитектурный шаблон, разделяющий приложение на три компонента:
- Model (Модель) — отвечает за данные и бизнес-логику. Она хранит состояние приложения и управляет данными.
- View (Представление) — отвечает за отображение данных пользователю. Это интерфейс, с которым взаимодействует пользователь.
- Controller (Контроллер) — обрабатывает пользовательский ввод, взаимодействует с моделью и обновляет представление.
Роль MVC в разработке приложений — разделить ответственность, что облегчает поддержку, тестирование и расширение кода. Например, изменение интерфейса не затрагивает бизнес-логику, а изменения в модели не требуют переделки представления.
Пример на Python с использованием Flask:
from flask import Flask, render_template, request
app = Flask(__name__)
# Model
class User:
def __init__(self, name):
self.name = name
# Controller
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
user = User(request.form['name'])
return render_template('greeting.html', user=user)
return render_template('form.html')
if __name__ == '__main__':
app.run()
Здесь модель — класс User, контроллер — функция index, а представление — HTML-шаблоны form.html и greeting.html.