2012-02-29 58 views
0

我開始在當前使用NHibernate和Sql Server和MVC的應用程序中使用Mongodb。將依賴項注入到mongodb實體中

我想從脂肪控制器中移開並開始將更多的邏輯推送到我的實體中。

這樣,我還想將注入我的實體服務時,他們是從MongoDB中取出。

這可以在NHibernate的監聽器來完成,但有在,我可以使用MongoDB中實現這一目標的C#司機這樣的機制?

乾杯, 拜倫

回答

0

推動更多的邏輯到我的實體

這是一個壞主意,因爲這違反了Single Responsibility Principle,融合了行爲數據(這使得代碼難以測試) ,並且由於實體通常是短暫的,所以它們通常不應該由DI容器來解決。

而是將邏輯從您的控制器移到服務層。特別是commandsqueries可以是一個很好的解決方案,或者至少有服務類包含所有的業務邏輯。

這裏是一個great answer馬克塞曼有關實體的邏輯。

+0

嗨史蒂文,這個問題不是關於它是一個好的還是壞的想法更多的邏輯到我的實體。 – boz 2012-02-29 09:40:11

+3

@boz:你讓我的答案免費;-) – Steven 2012-02-29 10:00:15

+0

您的回答沒有什麼做的問題。它現在感染了對命令和查詢的評論。 – boz 2012-02-29 10:04:43