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)的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Web 服务器上开始调试。视觉工作室 2008

如何在 MFC 常规 DLL 中创建和使用 CFormView? (视觉工作室 2008)

[HttpPost] ASP.NET中有啥作用???

将视觉工作室升级到 sp1

机器视觉定位是啥?和机器视觉检测有啥不同?

欧特克电影视觉特效软件的特色