![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BuShaRt |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1391 Регистрация: 29.6.2006 Репутация: 4 Всего: 6 |
В контексте освоения Zend2, Doctrine и попыток использования паттернов проектирования встал следующий вопрос. Вообще вопрос достаточно абстрактный и не относиться конкретно к PHP, но т.к. мы работаем именно с ним, то размещу я его тут.
В общем, есть у нас таблица упражнений. Каждое упраждение можно получить в виде объекта (entity) или коллекции (те, кто работа с Doctrine наверняка понимаю о чем я). В общем и целом работа с объектами налажена. Тут у нас появилась задачка - получать количество пройденных упражнений за последний час. Технически мы видим 1000 + 1 решение этой задачи и вопрос не в этом. Интересно, какой инструмент должен предоставляеть нам эту информацию, возможно реализация как-ого паттерна. Т.к. по сути нам не интересны сами Entity, нам интересно только их количество т.е. отдал методу интервал времени и получил обратно количество упражнений. Раньше мы делали статические методы с говорящими именами прямо в классе объекта (сейчас это Entity), но, с опытом начало приходить осознание того, что это жуткое извращение и так делать не стоит. К сожалению как делать стоит мы пока тоже не понимаем и будем рады, если кто-нибудь объяснит. |
|||
|
||||
| georgiy11 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 29.9.2008 Репутация: нет Всего: нет |
Фактически это событие изменения и событийная схема.
Как по мне подошёл бы паттерн Observer. Время подошло, событие запустилось и слушающий произвёл операцию. Сам паттерн позволяет сколь угодно многим сущностям подписываться и они могут иметь интерфейс слушающих. Может не правильно понял, маловато информации Это сообщение отредактировал(а) georgiy11 - 19.8.2013, 18:46 |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |