[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сущность моделей
Страницы: 1, 2
twin
Цитата (chee @ 2.12.2014 - 19:02)
вы серьезно?

Более чем. А что не так?

Все дело в том, что это на самом деле быстрее. Ну если конечно код не повторяется больше чем 2, максимум 3 раза. Если больше, конечно стоит объединить. Ну а в примере с админкой - сам Бог велел. Объединять совершенно различный, практически непересекающийся, функционал накладнее как со стороны железа, так и со стороны разработки.

Нельзя же все доводить до абсурда, есть же здравый смысл.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
ApuktaChehov
Что-то много вопросов вокруг MVC.

MVC это структура, модель проектирования, которых тьма. Чего на ней на одной зацикливаться?
Чем занимается контроллер?
Обрабатывает входящие данные, вызывает модель и представление. Все хорошо и просто.
А что делает модель? Выполнят запрос к БД и возвращает результат?
Например, у меня система. Нужно создать заказ. Для этого нужно узнать заказчика, узнать предмета заказа, его реквизиты, обслуживающего менеджера и т.д. И это только создание заказа. А у заказов есть еще и статусы выполнения, оплата, логистика, документация, тех. задание, история выполнения и еще куча всего. И что все это будет делать одна модель, или 5 моделей, а может 10?

Это, товарищи, целый отряд классов, которые обслуживают весь функционал обработки заказов. Так что модель в данном случае, может только организовывать работу этих классов, после того, как контроллер передал ей все что нужно. А лучше, если она плавно перейдет в бизнес логику.

А вы тут про повтор кода в модели. Скажу по секрету, если вы сталкиваетесь с повтором кода, то чаще это ошибка проектирования.

По поводу вопроса автора о списке новостей.
В зависимости от функционала обработкой новостей должен заниматься один класс или группа классов. А в них уже должна быть заложена реакция на полномочия юзера.
Если это админ, давать возможность редактировать новости, если юзер, то только просмотр и т.д.
И не будет повторений.

Да, тут модель внезапно превращается из одно класса в кучу. Но ведь это бизнес логика...

_____________
twin
ApuktaChehov
Цитата
А вы тут про повтор кода в модели. Скажу по секрету, если вы сталкиваетесь с повтором кода, то чаще это ошибка проектирования.
Не в модели, а в моделях. Да и собственно даже не в моделях, а в тех самых преславутых контроллерах.
Цитата
Если это админ, давать возможность редактировать новости, если юзер, то только просмотр и т.д.
Не путай. Это не админ. Это модератор. Администратор (владелец) должен иметь доступ к глобальным настройкам сайта. К редактированию и статистике системных данных и много к чему еще, что вообще не должно соприкасаться с юзерами. А ты все пароли в одну таблицу в базе. Роли, шмоли... Сколько эксплойтов на разные вордпрессы и ему подобное по сети гуляло и гуляет.

А повтора все равно не избежать. Так лучше делать это сознательно, именно там, где рационально. А не параноиться, как с собачками.

Кстати, тем, кто считает, что собака зло, могу загадку загадать. Столкнулся с задачей, которая без собаки не решается впринципе. Ну по крайней мере я не решил (хотя не сильно и хотел smile.gif ).

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
ApuktaChehov
twin ну да я о модераторах.
И тут я с тобой согласен. Самый безопасный функционал, это функционал которого нет )
Это я про админку, которая отдельно от всего.

_____________
slobotsky.denis
Цитата (twin @ 2.12.2014 - 22:46)
И вообще, чего все так боятся повтора кода... Лично я чувствую себя куда комфортнее, когда знаю, что изменив что-либо в той же админке, у меня ничего не поплывет на клиентской стороне. А нажать ctrl+c куда проще и быстрее, нежели ломать голову, как это все безболезненно совместить.

Внезапно, согласен) Пару статей в тему тыц тыц

_____________
PHP: The Right Way
Бесплатное обучение Symfony2

Tox: 55BB67DE54B1CB14F8C37B4F3AED64E6A45922988D22F85EF75039751F26F05460664D978F5C
Invis1ble
зачем же ты выбрал Symfony с такими взглядами? biggrin.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

twin
Вообще это называется God object. По большому счету. Собрать все в одну кучу, которая будет управляться одной строчкой и назвать это инкапсуляцией. Это обычно заводит в такие дебри, которые потом ни один тест не разгребет.

Мне очень нравится афоризм Экзюпери.
Цитата
Как видно, совершенство достигается не тогда, когда уже нечего прибавить, но когда уже ничего нельзя отнять.


_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
slobotsky.denis
Invis1ble, затем, что в symfony всё в меру)


_____________
PHP: The Right Way
Бесплатное обучение Symfony2

Tox: 55BB67DE54B1CB14F8C37B4F3AED64E6A45922988D22F85EF75039751F26F05460664D978F5C
bestxp
жуть какая) модель понятие растяжимое)))

модель это отображение работы бизнес-логики, и не более
модель ничего не должна знать о том где ее данные хранятся и откуда берутся, она с ними работает и обрабатывает

Все что работает с бд, io и тд это уже инфраструктура или контроллер, и не имеет никакого отношения к бизнес логике
Invis1ble
Цитата (slobotsky.denis @ 4.12.2014 - 16:23)
Invis1ble, затем, что в symfony всё в меру)

боюсь спросить, где тогда не в меру ohmy.gif

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Alchemist
twin, так ты задачку-то давай... Интересно же ж...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.