Тема: Хорошее MVC
Показать сообщение отдельно
Старый 05.11.2013, 15:38
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 11  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
Что лично мне не нравится в событиях от Вью к Контроллеру?
Это вобщем-то отлично, когда ничего кроме типа События не требуется.
Но как только возникает ситуация, когда необходимо передавать данные, весь смысл меняется.
Становятся необходимы особые кастомные классы Событий-контейнеров данных. Эти классы должны знать (то есть иметь с ними жесткую связанность) и Вью и Контроллер. Я уже как-то "наезжал" на такую же проблему с событиями от Модели к Вью, и здесь ситуация ничем не лучше. Разруливать ее с помощью неких "интерфейсов событий" имхо маразм, особенно когда напрягает само количество новых классов-Событий, каждый из которых нужен для поддержки одного единственного действия юзера во Вью/изменения данных в Модели — так к каждому еще и Интерфейс заводить?
Я к тому, что в ситуации неявной жесткой связанности через события говорить об идеалах независимости фигурантов MVC довольно лицемерно, а учитывая сильную физическую/логическую связь между Вью и Контроллером (второй, по сути, придаток Вью), я лично вполне допускаю схему с прямой ссылкой и прямым вызовом методов контроллера из вью-хозяина. "Передать массив" в такой ситуации не потребует ни нового Класса События, ни Интерфейса для него, а связанность, по сути, та же самая. Реальную независимость имеет только Модель, и ей ничто не угрожает.
__________________
Reality.getBounds(this);