[英]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.