Движок на ООП с использованием паттерна MVC

  • Автор темы Автор темы Vital7
  • Дата начала Дата начала
Vital7, давай задачку дам.
Есть таблица работников. Employee. Там есть поле, например HourSalary - сколько работник в час получает. Задача - в контроллер поступает запрос с двумя датами - StartDate и EndDate - надо вывести всех сотрудников с рассчитанными зарплатами за этот период. Код писать не прошу. Лучше распиши что где кто будет делать.
 
  • Вообще, я так понял, суть этого подхода заключается в том, что отделить работу дизайнера и программиста. Если это не так, поправьте меня.
суть этого подхода не для разделения работы дизайнера и программиста, а для того чтобы можно было поменять дизайн не трогая ВСЁ или показывать разные модели одинаково, или и спользовать одну модель по разному (например в бакэнде и во фронтэнде и в аякс пинать и в пдф печатать и ещё куда тебе надо).
У тебя описания модели, вида и контроллера не корректные, - отсюда и возникают те две проблемы, которых в сущности нет.
 
Vital7, давай задачку дам.
Есть таблица работников. Employee. Там есть поле, например HourSalary - сколько работник в час получает. Задача - в контроллер поступает запрос с двумя датами - StartDate и EndDate - надо вывести всех сотрудников с рассчитанными зарплатами за этот период. Код писать не прошу. Лучше распиши что где кто будет делать.
В Model у меня имеется набор функций. Там же есть функция подсчет ЗП у работников по заданным датам. В Controller у меня будет реализация этой функции. Ну а View вернет результат пользователю.
 
Вурдалак, я ничего не путаю) Model - это самая большая часть в современных приложениях
Ты продолжаешь аппелировать к определению MVC в web, называя моделью «ну вот это, то, что побольше, контроллер — это то, что вот связывает то, что побольше с тем, что поменьше». С точки зрения такой наивной терминологии сохранять пользователя (читай: «брать объект класса User и пихать в $userRepository») в controller'е (читай: «ну вот та штука, которая принимает на вход HttpRequest и возвращает HttpResponse») — это нормально. С точки зрения правильной архитектуры — это ненормально. Тебе видимо нравятся эти три буквы, хорошо в резюме выглядят, солидности прибавляет.
 
Опять же, дизайнер этим занимается. Если будет много PHP-кода, он с ума сойдет, что бы его поменять. А в View уже проще.
Блин, этим не дизайнер занимается, дизайнер картинки рисует и дизайн гайды пишет в особо запущенных случаях, темплеты вестальщик верстает, может и цикл научиться писать, или программисту отдать шаблон, не рассыплется.
 
Блин, этим не дизайнер занимается, дизайнер картинки рисует и дизайн гайды пишет в особо запущенных случаях, темплеты вестальщик верстает, может и цикл научиться писать, или программисту отдать шаблон, не рассыплется.
Верстальщик, ладно. Суть не меняется. Разбор движка на две составляющие: шаблон и модель.
Вобщем всем спасибо за ответы!
 
В книге P of EAA про паттерн MVC Фаулер льёт воду, и не примера, и ничего.
Лично я себе представляю все контролеры в той же symfony 2 как команды, которые выбирает Front Controller.
Команда обращается к Application Layer(слой служб), который обращается к Domain Layer и передаёт ответ уровню представления.
 
В книге P of EAA про паттерн MVC Фаулер льёт воду
Ну потому что это скорее концепция, чем паттерн. Какая там конкретика, когда существует стопицот интерпретаций, из которых множество жизнеспособных.
 
У Фаулера очень много статей и размышлений о паттернах. А вот описание паттернов в poeaa очень хорошее, не накладывает ограничений и своего видения.
 
ненавижу ваш этот MVC ... каждый талдычит своё понимание и в итоге то для чего он предназначен (структуризация приложения для его удобной разработки/поддержки) на самом деле игнорируется из - за размытости понятий model, view и controller ...
так что долой его, сила в алгоритмах lol
 
Что-то захотелось попетросянить на тему Брата 2. «Ну много у тебя алгоритмов и чего? Почему столько багов и разработка такая медленная?».
 
Ребят, все же буду писать движки на ООП с MVC. Не вижу особых недостатков. Все его так критикуют этот подход, а я с другими и незнаком в принципе.
 
Сверху