2012-02-13 2 views
1

У меня есть объект Institute и репозиторий InstituteRepository, который извлекает Institute объектов на основе критериев. Теперь где-то в моем приложении мне нужен ViewCount для института (количество просмотров страницы института, которое хранится и обновляется в таблице базы данных).Где поставить эти запросы в DDD

Я кэширую свои объекты Institute, но поскольку ViewCount очень динамичен, я хотел бы получать его заново каждый раз. Вопрос в том, где я должен поставить свою функцию getViewCount()?

Могу ли я получить функцию getViewCount() в InstituteRepository? Если нет, то для чего лучше всего?

Цените любую помощь и извините за смутное название.

ответ

3

Это определенно соответствует отдельному ограниченному контексту, который отслеживает «просмотр связанного поведения». Нет необходимости в репозитории. Предполагая, что вы используете реляционное хранилище данных, просто выполните «вставку в значения, указанные в InstituteViewRecord (институт, пользователь, который просматривал-идентификатор, дату и время просмотра) (...)» для отслеживания этой информации и msgstr "выбрать count (*) из InstituteViewRecord где instid =". ПОЦЕЛУЙ. Любые удаленные потребности могут быть удовлетворены с помощью RPC или других механизмов обмена сообщениями. Я сомневаюсь, что эта функциональность является основной областью.

+0

+1, применение шаблонов DDD, вероятно, здесь не требуется. Вы можете даже разделить это на одну таблицу, содержащую простой счетчик для каждого вида. –

+0

Но где я пишу эти запросы? Должен ли я писать их в DAO и использовать DAO прямо там, где мне нужно? – Vikk

+0

Да, что в этом плохого? Подумайте об этом так: какая дополнительная абстракция покупает меня и действительно ли мне нужно применять один и тот же шаблон повсюду? –

Смежные вопросы