2013-04-10 54 views
0

我想實現MVC首次。我也讀過很多博客和一本mvc書。現在,當我實現它,我想不出哪裏把我的一些業務邏輯MVC 4 - 在保持業務邏輯

的我的域模型使用LINQ定義的SQL。我瞭解存儲庫模式用於將持久性添加到模型中。但是我無法決定把實際的業務邏輯放在哪裏。例如有一個特定的模型需要在保存之前檢查重複項。還有一些其他的邏輯決定了這個模型是否有資格被保存。你把這種邏輯放在哪裏?我應該把它放入存儲庫嗎?或者我應該在倉庫之上插入一個業務層。

所以它看起來像

控制器 - >業務邏輯 - >庫 - > DL

任何幫助是極大的讚賞。

+0

創建邏輯層和數據層3層項目 – 2013-04-10 03:40:52

回答

-1

如果項目不是太大,我一般把業務邏輯放到一個單獨的項目在主項目。如果您有它設置已經或可以在DataContext的剛傳入到助手消除冗餘並讓助手來簡單地看一些情況和報告真或假的反應可以將其移動到存儲庫。

如果項目是非常大的,我會通常將數據移動到自己的項目,並引入數據訪問層,如回購或類似允許客戶端來獲取數據,而數據的明確使命。

+0

感謝您的答覆 - 所以在本質上我的控制器將調用業務邏輯? 控制器 - >業務邏輯 - >存儲庫 - > DL ??? – user1828125 2013-04-10 13:41:52

+0

我不確定最好的方式來說這個,但有很多關於堆棧溢出的問題,更多地討論這個問題,你可以研究它可能措辭更好。就我個人而言,我的控制器使用業務邏輯來執行一些測試,但它並不需要通過業務邏輯來獲取數據,實際上我通常會將數據上下文傳遞給業務邏輯並讓邏輯執行功能。 – 2013-04-10 14:47:22