2017-10-20 121 views
0

我開始想知道業務層應該在MVC模式的哪個位置。 這很快讓我問「n層和MVC之間有什麼區別」。 我讀了很多文章和Stackoverflow的回覆,發現有錢的不同意見,因爲有答覆。MVC和N層架構

我不是專家,但我認爲一些回覆和文章只是垃圾。例如(Nah!) N層用於大型應用程序,MVC用於小型(垃圾)

然後我閱讀了一個有意義的內容。 N層進程始終將UI傳遞給BL到DL,並通過BL再次傳回UI。但是,MVC具有三角形流程。確實,但是這一切?

有人提出的另一個觀點是,MVC是一個應用程序體系結構模型,n層是一個系統體系結構模式。我不確定他們的意思,直到他們提到作爲應用程序架構的MVC模式可以用於每個n層層。

剛剛閱讀了Angular之後,我可以看到MVC在UI層中實現,並且看到了MVC和Web API最近如何在.Net中合併,我可以看到帶有控制器,視圖和模型的Web AP中間層。

但是,這會阻止DL? .Net中的大多數數據層都是EntityFrame的一些包裝。 DL層可以用MVC模式實現還是實際上應該是?

如果此N層和MVC的定義是正確的,那麼應該可以將MVC模型應用於N層系統層中的任何層。

任何人都可以給我任何跡象表明,如果這是可行的,或者如果你甚至應該打擾DAL是MVC。

回答

0

從某種意義上說,是的。在數據層中可以實現類似於MVC的東西。特別是,視圖,模型和控制(不一定是controllerER)。

以SQL Server爲例。您可以創建消息傳遞架構,允許您創建訪問數據的API,以便即使底層模型(表)發生更改,API也不會。

但請記住,「數據層」往往是指代碼,而不是物理層。您的數據訪問層通常是一個API,模型或存儲庫,用於封裝數據並將其轉換爲與應用程序層兼容的一組數據。