Я нахожусь в процессе изучения шаблона MVC в «практике», что означает, что я пытаюсь понять, как реализовать его в любом конкретном приложении Java. Я просто стал немного умнее через другой вопрос Я только что спросил, и вот мое продолжение.
Для шаблона MVC присущ тот факт, что модель не должна знать ни о представлении, ни о контроллере. Однако и контроллер, и представление должны знать друг друга, так как контроллер, скорее всего, должен обновить представление, а представление должно отправлять действия пользователя в контроллер. Я понимаю, что обычно реализуют контроллер, используя шаблон стратегии, что означает, что контроллер является поведением представления. Независимо от того, как на это смотреть, вид и контроллер довольно переплетены.
Теперь я знаю, что нужно отдавать предпочтение композиции, а не наследованию. Однако, имеет ли смысл создавать проект, в котором контроллер наследует представление. Я в основном думаю о том, что не нужно писать много методов доступа и мутатора в представлении, а скорее определить все компоненты с защищенными ключевыми словами, чтобы подклассы могли получить к ним доступ.
Можно подумать, каким образом представление должно уведомлять контроллер, когда происходит пользовательский ввод. Моя идея состоит в том, чтобы иметь действия, соответствующие каждой кнопке в контроллере. Тогда это будет просто вопрос регистрации правильного действия (в контроллере, который является подклассом) с соответствующей кнопкой (в представлении).
Я собираюсь стереть разделение интересов? Будет ли это по-прежнему паттерном MVC или я направляюсь к чему-то совершенно другому (и того хуже)?
Все отзывы приветствуются!