在我的各種項目中,我實現了命令/查詢分離模式並使用NHibernate作爲我的ORM。使用ORM時的命令/查詢分隔
一般我把我的命令和查詢在不同的項目相關的組特定的活動,如UserManagement
,TagManagement
,QuestionManagement
等
我很喜歡具有容易瑪麗薩功能都劃分成精美的這些倉庫。這樣做的確有好處。
但是我開始懷疑這個抽象對於基本查詢的價值,特別是考慮到NHibernate已經提供瞭如此強大的抽象本身。
在我的MVC控制器考慮一下:
_nHibernateSession.Get<UserProfile>(_sessionData.UserId);
我可以抽象了這一點到的UserManagement
庫的查詢,但我不知道那是什麼,提供價值。
您認爲如何?你會保留在命令/查詢範例中的所有內容,還是直接在控制器中使用nhibernate會話來處理這樣的簡單請求?