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

Adelf

Administrator
Команда форума
Vital7, давай задачку дам.
Есть таблица работников. Employee. Там есть поле, например HourSalary - сколько работник в час получает. Задача - в контроллер поступает запрос с двумя датами - StartDate и EndDate - надо вывести всех сотрудников с рассчитанными зарплатами за этот период. Код писать не прошу. Лучше распиши что где кто будет делать.
 

vitus

мимо проходил
  • Вообще, я так понял, суть этого подхода заключается в том, что отделить работу дизайнера и программиста. Если это не так, поправьте меня.
суть этого подхода не для разделения работы дизайнера и программиста, а для того чтобы можно было поменять дизайн не трогая ВСЁ или показывать разные модели одинаково, или и спользовать одну модель по разному (например в бакэнде и во фронтэнде и в аякс пинать и в пдф печатать и ещё куда тебе надо).
У тебя описания модели, вида и контроллера не корректные, - отсюда и возникают те две проблемы, которых в сущности нет.
 

Vital7

Новичок
Vital7, давай задачку дам.
Есть таблица работников. Employee. Там есть поле, например HourSalary - сколько работник в час получает. Задача - в контроллер поступает запрос с двумя датами - StartDate и EndDate - надо вывести всех сотрудников с рассчитанными зарплатами за этот период. Код писать не прошу. Лучше распиши что где кто будет делать.
В Model у меня имеется набор функций. Там же есть функция подсчет ЗП у работников по заданным датам. В Controller у меня будет реализация этой функции. Ну а View вернет результат пользователю.
 

Вурдалак

Продвинутый новичок
Вурдалак, я ничего не путаю) Model - это самая большая часть в современных приложениях
Ты продолжаешь аппелировать к определению MVC в web, называя моделью «ну вот это, то, что побольше, контроллер — это то, что вот связывает то, что побольше с тем, что поменьше». С точки зрения такой наивной терминологии сохранять пользователя (читай: «брать объект класса User и пихать в $userRepository») в controller'е (читай: «ну вот та штука, которая принимает на вход HttpRequest и возвращает HttpResponse») — это нормально. С точки зрения правильной архитектуры — это ненормально. Тебе видимо нравятся эти три буквы, хорошо в резюме выглядят, солидности прибавляет.
 

vitus

мимо проходил
Опять же, дизайнер этим занимается. Если будет много PHP-кода, он с ума сойдет, что бы его поменять. А в View уже проще.
Блин, этим не дизайнер занимается, дизайнер картинки рисует и дизайн гайды пишет в особо запущенных случаях, темплеты вестальщик верстает, может и цикл научиться писать, или программисту отдать шаблон, не рассыплется.
 

Vital7

Новичок
Блин, этим не дизайнер занимается, дизайнер картинки рисует и дизайн гайды пишет в особо запущенных случаях, темплеты вестальщик верстает, может и цикл научиться писать, или программисту отдать шаблон, не рассыплется.
Верстальщик, ладно. Суть не меняется. Разбор движка на две составляющие: шаблон и модель.
Вобщем всем спасибо за ответы!
 

stalxed

Новичок
В книге P of EAA про паттерн MVC Фаулер льёт воду, и не примера, и ничего.
Лично я себе представляю все контролеры в той же symfony 2 как команды, которые выбирает Front Controller.
Команда обращается к Application Layer(слой служб), который обращается к Domain Layer и передаёт ответ уровню представления.
 

fixxxer

К.О.
Партнер клуба
В книге P of EAA про паттерн MVC Фаулер льёт воду
Ну потому что это скорее концепция, чем паттерн. Какая там конкретика, когда существует стопицот интерпретаций, из которых множество жизнеспособных.
 

AmdY

Пью пиво
Команда форума
У Фаулера очень много статей и размышлений о паттернах. А вот описание паттернов в poeaa очень хорошее, не накладывает ограничений и своего видения.
 

Vital7

Новичок
Бл, что я написал... Реализация в Model, а Controller вызывает ее.
 

Arramis

Новичок
ненавижу ваш этот MVC ... каждый талдычит своё понимание и в итоге то для чего он предназначен (структуризация приложения для его удобной разработки/поддержки) на самом деле игнорируется из - за размытости понятий model, view и controller ...
так что долой его, сила в алгоритмах lol
 

Вурдалак

Продвинутый новичок
Что-то захотелось попетросянить на тему Брата 2. «Ну много у тебя алгоритмов и чего? Почему столько багов и разработка такая медленная?».
 

Vital7

Новичок
Ребят, все же буду писать движки на ООП с MVC. Не вижу особых недостатков. Все его так критикуют этот подход, а я с другими и незнаком в принципе.
 
Сверху