вторник, 17 сентября 2013 г.

Чем мне не нравится MVC

Может быть я - дремучий. И НЕ ПОНЯЛ гениальность идеи.

Может быть.

Но!

Мне НЕ НРАВИТСЯ, что КОНТРОЛЛЕР знает про VIEW и управляет им.

А не наоборот.

А как же постулат (в частности от Apple) - "когда мы захотим поменять интерфейс - мы запросто сможем это сделать".

Как "запросто"?

Поменять ДВА слоя - КОНТРОЛЛЕР и VIEW? Или Выводить "абстрактные" контроллеры?

Или нагружать МОДЕЛЬ бизнес-логикой?

У "меня" всё перевёрнуто "с ног на голову" - VIEW -> CONTROLLER -> MODEL -> DATA.

Да и слоёв там БОЛЬШЕ.

ПРЕЦЕДЕНТ (View) -> (тут "прокладка", которая умеет транслировать Controler во View с учётом "неформальных правил") -> БИЗНЕС-ОБЪЕКТ ПРЕЦЕДЕНТА (Controller) -> ОБЛАСТЬ ВВОДА (ФОКУСА) (View) -> (тут "прокладка", которая умеет транслировать Controler во View с учётом "неформальных правил") -> БИЗНЕС-ОБЪЕКТ ОБЛАСТИ ВВОДА (Controller) -> ДАННЫЕ (Model) -> БД

Как-то так.. Как минимум.

Ну и идею того, что КОНТРОЛЛЕР вызывает контекстное меню (showMenuOnThisView), а ОБРАБАТЫВАЕТ логику меню VIEW - я НЕ ПОНИМАЮ.

По-моему - View должны находиться на "вершине иерархии". View - должны черпать логику и данные из НИЖЕЛЕЖАЩИХ слоёв.

Тут есть одна проблема - надо "точить" контролы View - либо в плане DataAware, либо в плане Visual Live Binding.

Ну мне как-то так видится....

Комментариев нет:

Отправить комментарий