在DDD中放置这些查询的位置

时间:2012-02-13 10:31:20

标签: domain-driven-design repository

我有一个实体Institute和一个存储库InstituteRepository,它根据传递的条件获取Institute个对象。在我的应用程序的某个地方,我需要ViewCount用于研究所(查看研究所页面的次数,在数据库表中存储和更新)。

我缓存了我的Institute个对象,但由于ViewCount非常动态,我想每次都重新获取它。问题是,我应该在哪里放置getViewCount()功能?

我可以在getViewCount()中使用InstituteRepository这样的功能吗?如果不是,最适合它的地方是什么?

感谢任何帮助,并抱歉模糊的标题。

1 个答案:

答案 0 :(得分:3)

这绝对适合跟踪“查看相关行为”的独立有界上下文。不需要存储库。假设您正在使用关系数据存储区,只需执行“插入InstituteViewRecord(acadeid,用户访问者身份,查看日期和时间)值(...)”以跟踪此信息和“从InstituteViewRecord中选择count(*),其中,instituteid =”。吻。使用RPC或其他消息传递机制可以满足任何远程处理需求。我怀疑这个功能是核心领域。