Встречается на собеседованиях • сегодня

Что такое MVVM паттерн в Python

MVVM (Model-View-ViewModel) — это архитектурный паттерн для разделения логики приложения и UI. В Python он часто используется в связке с фреймворками типа PyQt/PySide или Kivy.

Основные компоненты:

  • Model — данные и бизнес-логика.
  • View — визуальное представление (UI).
  • ViewModel — посредник, преобразующий данные Model для View и обрабатывающий действия пользователя.

Пример с PyQt:

python
from PyQt5.QtCore import QObject, pyqtSignal

class Model:
    def __init__(self):
        self._data = "Hello MVVM"

class ViewModel(QObject):
    data_changed = pyqtSignal(str)

    def __init__(self, model):
        super().__init__()
        self._model = model

    def get_data(self):
        return self._model._data

    def update_data(self, value):
        self._model._data = value
        self.data_changed.emit(value)

Плюсы:

  • Четкое разделение обязанностей.
  • Упрощает тестирование (ViewModel не зависит от View).
  • Гибкость при изменении UI.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы