Обсуждение:Знакомимся с терминологией MVC

Последнее сообщение: 13 лет назад от 89.178.124.181

Модель... >Знает как визуализировать данные, НО НЕ УМЕЕТ ЭТОГО ДЕЛАТЬ >Знает как контролировать работу пользователя, НО НЕ УМЕЕТ ЭТОГО ДЕЛАТЬ Вы написали, что смысл модели - отделить бизнес-логику от представления (визуализации в частном случае). И это правильно, знать ничего не знает она о визуализации - только данные и логика предметной области - эти два пункта точно лишние.

Далее >Входит ли метод PaymentIsPossible() в бизнес-логику? Нет! Контроль действий — это обязанность контроллера, это интуитивно понятно даже из его названия. PaymentIsPossible()- это логика предметной области, а не контроль действий пользователя. Если потребуется вдобавок к PaymentIsPossible() сообщать о причине невозможности оплаты (нет соединения с сетью, время сессии истекло, или данные в модели некорректны)- это тоже предметная область, и должно быть отражено в модели. Иначе получается недомодель, к которой всегда придется дописывать эту логику отдельно в каждом новом контроллере.

89.178.124.181 20:30, 1 ноября 2011 (UTC)Ответить

Вот это "это интуитивно понятно...". Это заставляет морщиться. Вместо объяснения - понимайте сами или вы не люди, раз вам не понятно.

Вернуться на страницу «Знакомимся с терминологией MVC».