在实现一个Web应用程序时,你需要仔细考虑是否采用ASP.NET MVC框架或者 ASP.NET Web Forms模型。MVC 框架并不会代替Web Forms模型,在Web应用程序中,可以采用任一框架。
基于MVC框架的优势
(1)通过分离应用程序为模型、视图和控制器,使得更容易管理复杂性。
(2)不是有视图状态(viewstate)和server-based forms。这使得MVC框架让开发人员可以全面控制应用程序的行为。
(3)使用Front Controller 模式,通过一个单一的控制器来处理web应用程序的情况,这样使得应用程序支持丰富的路由机制。
(4)提供更好的测试驱动开发(TDD)。
(5)更好地支持大团队的web应用程序开发,开发人员和设计人员可高度控制应用程序的行为。
Web Forms应用程序的优势
(1)支持事件模型,并通过HTTP保留状态,有利于line-of-business Web应用程序的开发。Web Forms应用程序中上百个服务器控件(server controls)提供了大量的事件。
(2)使用Page Controller模式,为单一页面添加了功能。
(3)在基于server的表单中,使用视图状态(viewstate),更容易管理状态信息。
(4)更好服务于小团队的开发人员和设计人员,可利用大量的控件进行快速开发。