什么是ASP.NET MVC? - 它只是关于URL的吗?

时间:2010-10-23 05:18:50

标签: asp.net-mvc model-view-controller

一般的MVC框架?
它与桌面GUI应用程序中的MVC不同吗? 究竟是什么让它比WebForms更容易测试?(你不能以类似于MVC控制器的方式测试Code Behind)

我的印象是ASP.NET MVC主要是关于干净的URL - 控制器以URL的形式处理用户输入。

例如,经典ASP中的barbone web表单应用程序与MVC概念有很大不同。虽然具有事件和页面状态的ASP.NET Webforms在MVC方向上更多,但在桌面GUI世界中可以想到它。

1 个答案:

答案 0 :(得分:0)

尝试Wikipedia怎么样?

引用:“模型 - 视图 - 控制器(MVC)是一种软件架构,目前被认为是软件工程中使用的架构模式。该模式将”域逻辑“(用户的应用程序逻辑)与用户界面隔离开来(输入允许独立开发,测试和维护每个(关注点分离)“。

因此,它有助于使应用程序井井有条(因为它强制您将业务或域逻辑[模型]与所有接口代码[视图]分开)。

这也使更多更容易应用TDD。

而且,谈到 Web MVC .NET框架(如ASP.NET MVC,Castle Monorail或OpenRASTA),他们通常也允许:

  1. 正确看到网页 - 无状态资源(而不是像ASP.NET WebForms ViewState那样创建虚假状态保留)。
  2. 你工作中的客户端程序员的存在,不知道(也可能不想知道)关于.NET的任何事情。
  3. 优雅(与意大利面条代码相反,或者,WebForms)。
  4. 不错的网址!!!
  5. 顺便说一下:有一个 LOT 更多的好处,如果你无法察觉它们,我建议你超越.NET世界。您会注意到几乎所有其他语言/环境都至少有一个MVC框架可用:

    • Python有Django。
    • Ruby有Ruby-On-Rails。
    • Java有Spring,Play。
    • PHP有CakePHP,Symfony。
    • 等等......

    这清楚地表明,MVC是一个值得重复的想法,也是一种经过验证的架构模式。