【问题标题】:What is ASP.NET MVC?什么是 ASP.NET MVC?
【发布时间】:2008-12-16 20:50:28
【问题描述】:

谁能解释一下,什么是 MVC,我们为什么使用它以及如何使用它。使用这个的好处?我们可以在 ASP.NET 2.0 (VS 2005) 中使用 ASP.NET MVC

【问题讨论】:

  • www.google.com - 很明显您甚至没有尝试过。
  • 查看 Rob Conery 在MVC Storefront 上的工作
  • 我尝试了很多,也阅读了 www.asp.net 上的文章,但实际上我并没有清楚地理解这个概念。

标签: asp.net asp.net-mvc visual-studio-2005


【解决方案1】:

当您需要完全控制来自 ASP.NET 的 HTML 输出时,您将使用 MVC。它还允许更好/更轻松的单元测试。它基于模型视图控制器架构。

Scott Gutherie 在这里很好地介绍了它: Scott Gu's Blog

【讨论】:

    【解决方案2】:

    ASP.NET MVC 是 Model-view-controller Pattern 的 Microsoft 标记实现,用于创建 Web 应用程序,它允许将关注点与业务层(模型)和表示层(由控制器提供的视图)完全分离。它是使用 Microsoft 的 Webforms 技术的替代方案,并且允许简单的单元测试,而使用 Webforms 方法几乎是不可能的。

    【讨论】:

      【解决方案3】:

      Model View Controller (MVC) 还有 Microsoft ASP.NET MVC Framework. 它是使用 VS.NET 2008 中的东西构建的。最好部署在 Windows 2008 Server 上。它可以在 Windows 2003 Server 上运行,但您会丢失一些很酷的部分。

      ASP.NET MVC 框架的好处包括:

      • 类似 REST 的网址,即 /products/1/456
      • 您的网站上没有显示 aspx 文件扩展名。
      • 非常干净的输出模型,更像是经典 ASP,然后是 ASP.NET WebForms。
      • 创建可测试站点比使用 WebForms 容易得多。

      ASP.NET MVC 的缺点

      • 它处于测试阶段
      • 它应该在 Windows 2008 上运行,如果您使用 Windows 2005,则需要为所有页面提供扩展名。
      • 很新。

      【讨论】:

      • 在 Windows 2008 中,如果没有任何插件,它会使 URL 类似于“/products/1/456”,或者我们需要安装一些额外的东西,例如 urlrewriting.net/149/en/home.html ??
      • 没错,Windows 2008 不需要插件来获得干净的 url。
      【解决方案4】:

      MVC 是一种将程序分成三个独立单元的方法:

      • 模型:处理数据访问、业务逻辑等。

      • View:生成用户界面。

      • 控制器:处理来自用户界面的输入,可能从模型中检索信息,并根据该信息将视图返回给用户。

      好处:

      • 更易于维护,例如数据访问逻辑与用户界面分开

      • 可以分别对不同部分进行单元测试

      • 特定于 ASP.NET MVC:与 ASP.NET Web 表单相比,通常呈现较小的页面大小

      ASP.NET MVC 是 Microsoft 用于在网站中实现 MVC 模式的技术。它是 ASP.NET web 表单的替代品,它在某种程度上是 web 的 win 表单。 ASP.NET MVC 被许多人认为比 Web 表单更简洁、更快速,但通常需要更多的 html、javascript 知识...

      这里有更多详细信息:ASP.NET MVC。 当前的 ASP.NET MVC Beta 版本需要 .NET 3.5。

      【讨论】:

      • ASP.NET MVC 分离逻辑层和 DA 层是否与 SUBSONIC 相同?
      【解决方案5】:

      MVC 是一种设计模式,其中显示数据的职责委托给 View 组件,处理用户和系统输入的职责委托给 Controller 组件,处理业务逻辑和数据的职责是委托给模型组件。 ASP.NET MVC 是用于 ASP.NET Web 编程的 MVC 模式的实现。

      ASP.NET MVC 与 ASP.NET WebForms 形成对比,其中没有明确的职责分工(尽管好的设计通常会尝试强制执行类似 MVC 的设计)。在 WebForms 中,视图呈现、I/O 处理(Web 请求)和业务逻辑职责通常混合在 ASPX 页面中的标记和代码隐藏之间。例如,在 WebForms 中,您可以将带有选择逻辑的 SqlDataSource 直接嵌入到您的标记中,并将其绑定到 GridView。使用单元测试很难测试选择逻辑是否正常工作。在 ASP.NET MVC 中,数据的选择将由控制器操作处理,该控制器操作生成要传递给视图并由视图呈现的视图数据。使用单元测试可以更轻松地检查此控制器操作(它只是控制器类上的一个方法)的正确操作。

      ASP.NET MVC 使用基于 REST 的 url,而不是用于用户交互的 WebForm PostBack 模型。 MVC 可以使用任何 HTTP 方法,标准期望 RESTful url 是规范。在 WebForms 中,通常只会看到使用的 GET/POST 方法。

      虽然 ASP.NET WebForms 相对成熟,并为其开发了许多控件,包括第三方控件,但 ASP.NET MVC 仍处于 Beta 版(截至 12/2008)并且可用的控件要少得多。有些人会争辩说这是完全可以接受的,因为 MVC 的一个方面是让开发人员更好地控制视图渲染。其他人可能会发现这是一个严重的缺陷,可能希望等到开发出更多适用于 MVC 模型的控件。

      要与其他语言/框架进行比较,请参阅 Ruby on Rails (Ruby)、Java Struts 或 Spring MVC (Java) 和 Django (Python) 等。

      【讨论】:

        【解决方案6】:

        Asp.net MVC 基于 MVC 设计模式。现在提出一个问题,什么是MVC 设计模式。 MVC 设计模式允许您使用松散耦合的组件开发应用程序。它将应用程序分成不同的层,如数据业务逻辑表示逻辑。 要了解有关 Asp.net MVC 的更多信息。请转到以下链接。

        https://youtu.be/m_9FnAc5k8c

        【讨论】:

          猜你喜欢
          • 2010-09-10
          • 2011-05-09
          • 2011-04-13
          • 2019-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多