[英]How ASP .NET MVC architecture fits into the traditional multi layered architecture
從傳統的Web應用程序架構方法(包括業務層,服務層,數據訪問層和表示層)轉向MVC設計模式,我發現很難理解它如何適應舊模型。
似乎MVC模型本身已經完成了分離關注點的分離,這些問題需要通過分層架構來實現。 有人可以對這個問題有所了解嗎?
作為參考,以下是我的理解,請分享您對此的看法
MVC視圖和控制器以及視圖模型 - 表示層
MVC模型 - 可以是 - 數據訪問層或業務層甚至服務層
我將Asp.Net MVC部分僅視為整個應用程序的視圖(或演示文稿)部分 。
我也在努力解決如何以適當的方式構建應用程序的問題。
按照我在這里聽到的洋蔥架構 (特別是這里的圖片),我的解決方案看起來像這樣:
Project.UI.Web遵循以下約定:
摘要:
如果您遵循此模型,那么關注Project.Core是有幫助的: 這是真正的應用程序 。 它不擔心數據的真實持久性,也不關心它是如何呈現的。 這只是“怎么做”。 但它正在規划其他項目必須提供實施的規則和合同(接口)。
我希望這可以幫助您如何布局Asp.Net MVC應用程序!
LG
warappa
正如其他人所說,它沒有太大變化。 我的應用程序通常是這樣構建的:
在服務器端MVC層,我的控制器方法非常輕。 他們通常在服務層對象上調用一個方法來獲取一些數據,並將其作為Json數據傳遞給客戶端。
因為我要把Json送回去,我的觀點也非常輕盈和稀疏。 通常只包含腳本包含和將使用客戶端模板庫呈現的模板。
簡而言之:沒有太大變化。
我只熟悉一些演示模式:MVP(模型,視圖,演示者,Windows窗體/ asp.net中常見),MVC(模型,視圖,控制器)和MVVM(模型,視圖,視圖模型,常用於WPF / Silverlight的)。
鏈接: http : //haacked.com/archive/2008/06/16/everything-you-wanted-to-know-about-mvc-and-mvp-but.aspx
上面的鏈接應該回答你的一些問題(如果不是全部的話)。
我通常編寫ASP.NET MVC應用程序的方法是至少包含一個用於CRUD操作的服務/業務層混合(因為數據訪問既不屬於視圖模型也不屬於控制器,絕對不屬於視圖!)。
非常基本的解釋:
如果您創建一個新的MVC應用程序,您將自動獲得一個Controllers,Models和Views文件夾。
您的控制器就像您的業務層一樣
模型是數據訪問/服務層
和視圖是表示層。
有關詳細說明,請訪問http://www.asp.net/mvc 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.