Как оповещать контроллер о действиях пользователя? Решил написать простенькое приложение, используя MVC. Связь между моделью и представлением примерно ясна: Модель - субъект, вьюверы - слушатели. При обновлении данных, модель оповещает всех слушателей. Представление, когда получает эти данные, перерисовывается на их основе.
Какая связь между представлением и контроллером? Как контроллер должен узнать о кликах на кнопки или о движении мыши?
После прочитанных статей пришел к выводу, что представление должно внутри себя хранить ссылку на контроллер и при необходимости делегировать задачи методам контроллера.
Например, в представлении создаем кнопку и внутренний класс, который будет слушателем этой кнопки. Во внутреннем классе, в методе actionPerformed, вызываем определенный метод контроллера. То есть, используется паттерн "Стратегия": представление делегирует часть своих обязанностей стратегии-контроллеру.
Я все правильно понял? Если да, то кто выбирает, какому вьюверу какой контроллер предоставить? Или этим занимается сам контроллер, передавая себя в качестве аргумента в конструктор представления?
-----------------
Второй вопрос: Может ли в приложении быть несколько контроллеров? Если да, то в каких случаях? Как происходит их переключение и обмен данными между ними?

21 Авг 2019 в 07:05
174 +1
1
Ответы
Нет ответов
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 83 683 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир