【发布时间】:2012-06-01 11:50:16
【问题描述】:
在我的各种项目中,我实现了命令/查询分离模式并使用 NHibernate 作为我的 ORM。
一般而言,我将命令和查询保存在与特定活动集相关的单独项目中,例如UserManagement、TagManagement、QuestionManagement 等。
我非常喜欢将所有内容都很好地划分到这些存储库中,这些存储库具有易于查找的功能。这样做当然有好处。
然而,我开始怀疑这种抽象对于基本查询的价值,尤其是考虑到 NHibernate 本身已经提供了如此强大的抽象。
在我的 MVC 控制器中考虑这个:
_nHibernateSession.Get<UserProfile>(_sessionData.UserId);
我可以将其抽象为 UserManagement 存储库中的查询,但我不确定它提供了什么价值。
你怎么看?您会将所有内容都保留在命令/查询范式中,还是直接在控制器中使用 nhibernate 会话来处理此类简单请求?
【问题讨论】:
标签: c# asp.net-mvc nhibernate command-query-separation