Я пытаюсь понять концепцию "жира" на моделях против "тощего" на контроллерах, и из того, что я обсуждал, у меня есть следующий пример (это взято из обсуждения freenode):
В: О парадигме MVC, ее моделях Fat, тощих контроллерах.Я здесь думаю: если у меня есть много методов (на контроллере), которые используют только несколько абстрактных методов для CRUD (на модели), я создаю толстый контроллер вместо модели?Или, говорят, толстая модель, повторяющаяся в том, что возвращается, а не набирается?это то, чего я никогда не понимал =) Любые комментарии приветствуются!Большое спасибо
OBS1: я не делаю что-то с помощью модели, в контроллере, у меня просто есть методы, которые управляют тем, что происходит с моделью
OBS2: скажем, "checkIfEmailExists () ", имеет" john@hotmail.com ", в качестве параметров.Этот метод получит возврат из метода модели, который запрашивает, существует ли этот параметр в таблице, и возвращает логическое значение.Если равно 0, «checkIFemailExists ()» вызовет метод другой модели, этот, он просто еще один абстрактный метод, который выполняет операцию обновления.
OBS3: «checkIfEmailExists ()», это не просто контроллер?На самом деле он не выполняет CRUD, он просто сравнивает значения и т. Д. Это меня смущает, потому что в моей голове это контроллер: S
Примечания: я думаю, что это не лучший пример, так как я говорю «проверьте, есличто-то существует ", звучит как запрос, моя табличная операция
Q2: еще один вопрос, так что, скажем, у меня есть форма просмотра, откуда этот параметр адреса электронной почты отправляется.Вы хотите сказать, что представление идет непосредственно к модели?
Q3: Разве контроллер не должен действовать между ними?Вот парадигма
ЗАКЛЮЧИТЕЛЬНОЕ ПРИМЕЧАНИЕ: обсуждение закончилось, сказав, что я ошибаюсь, желание в порядке (я учусь).Но так, каковы правильные ответы для Q2 и Q3?
Спасибо за ваше внимание