MVC 应用程序中有啥? (视觉工作室 2008/2010)
Posted
技术标签:
【中文标题】MVC 应用程序中有啥? (视觉工作室 2008/2010)【英文标题】:What is in an MVC application? (Visual Studio 2008/2010)MVC 应用程序中有什么? (视觉工作室 2008/2010) 【发布时间】:2011-03-30 19:49:31 【问题描述】:当您创建新的 MVC 应用程序时,它与 Web 应用程序有何不同?
即使在 Web 应用程序中,我也可以将路由处理程序放在 global.asax 中。但是 MVC 应用程序不仅如此,它甚至还有用于创建控制器和视图的上下文菜单。
我想知道是否可以将现有的 Web 应用程序转换为 MVC 应用程序...?
【问题讨论】:
【参考方案1】:基本上是 MVC 应用程序是 ASP.NET 应用程序。不同的是它引用了
System.Web.Routing
System.Web.Abstractions
System.Web.Mvc
dll-s。它还在 web.config 中有一些额外的配置,在 Global.asax 中有一个路由注册。 MVC 应用程序还带有用于控制器、视图和数据的默认文件夹。但是,使用相同的文件夹并不是强制性的。您可以轻松地将现有的 ASP.NET 应用程序转换为 MVC 应用程序。更多详细信息可以查看这篇文章http://www.packtpub.com/article/mixing-asp.net-webforms-and-asp.net-mvc
【讨论】:
【参考方案2】:看看这篇好帖子:
How does the MVC pattern differ, if at all, from the DAL / BLL design pattern?
MVC 是一种不同的设计模式,尤其是在 UI 处理方面。因此,如果您有一个具有 3 层 UI、BLL 和 DAL 的应用程序,您仍然可以使用 BLL 和 DAL。但是用户界面非常不同。 MVC 设计模式具有模型、视图和控制器。所以模型只是一个人类的对象。视图是用户显示的 UI。最大的进步是多个视图可以使用同一个控制器。控制器会检查字段的正确性并在后面处理您的代码。
因此,您可以重复使用 BLL 和 DAL,并且必须更改现有网站的 UI。
这就是我得到 MVC 设计模式的方式。
【讨论】:
【参考方案3】:我假设您正在谈论特定的 ASP.NET MVC。所以我的回答主要是针对它的。
ASP.NET MVC 是久经考验的 MVC 设计模式的实现。 MVC 已经在计算机软件构建中使用了大约 2 多年,但在过去几年中变得突出。尤其是这种软件构建方法被 Ruby on Rails 推广。 ASP.NET MVC 遵循相同的路线,但增加了自己的怪癖和优势。
在应用 MVC 设计模式时,重点是明确分离关注点。您的 View 关注点在视图中实现 - 通过 html、CSS、javascript、View Helpers 和 ViewModels。您的数据问题 - 视图将使用和呈现的数据在您的 Model 层中实现。您的控制器促进视图层和模型层之间的交互,例如检索数据、更新数据、操作数据等。
这种设计模式可能并不适合所有类型的软件构造。然而,对于几乎所有需要与用户交互的软件类型,MVC 极大地简化了软件的构建和维护。
使用上述模式 ASP.NET MVC 极大地简化了 Web 应用程序的开发。通过使用约定(例如在控制器名称中附加“控制器”、针对不同关注点使用文件夹、URL 路由约定等),这一点变得更好。
ASP.NET MVC 的一个好处是它可以更轻松地处理纯 HTML、CSS 和 javascript。它还消除了 Viewstate 以及与之相关的任何性能限制。
【讨论】:
以上是关于MVC 应用程序中有啥? (视觉工作室 2008/2010)的主要内容,如果未能解决你的问题,请参考以下文章