Sobes.tech
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.