在ASP.NET MVC世界中,框架本身包括对ASP.NET的许多改进。这种设计模式的主要目的是将业务逻辑与用户界面隔离开来,以便专注于更好的可维护性,改进的可测试性和更清洁的应用程序结构。
ASP.NET MVC具有某些功能,如果您需要以下一项或多项,则使其成为最佳选择:
• 对生成的HTML的高度控制:与Web窗体不同,ASP.NET MVC中的视图完全按照您的指示呈现HTML。最近,Web窗体在此领域已得到改进,但仍不具备MVC的控制级别。
• 更容易的单元测试:使用ASP.NET MVC,可以很容易地遵循测试模式,例如测试驱动开发(TDD)。由于Web窗体中复杂的事件生命周期,因此在基于控件的框架之上,使用MVC可以使TDD变得容易得多。
• 关注点分离:这是指将系统的各个方面清楚地分开。由于其实现的模式,MVC应用程序分为离散的部分和松散绑定的部分(模型,视图和控制器),这使得维护变得容易。
其他好处包括:
MVC模式本身通过将应用程序的功能清楚地分为三个核心部分(模型,视图和控制器),使管理复杂性变得更加容易。
•ASP.NET MVC Web应用程序不使用视图状态或基于服务器的表单。这使MVC框架成为希望完全控制应用程序行为的开发人员的理想选择。视图状态可能会变得非常大,这对于像智能手机这样运行在慢速网络上的设备来说是个问题(传输所有信息可能会非常慢)。在Web窗体页面中,每个页面只能有一个。这是一个很大的限制。在MVC中,没有这样的限制-也就是说,您可以根据需要拥有任意数量的元素。
ASP.NET MVC为测试驱动的开发(TDD)提供更好的支持。
ASP.NET MVC非常适合大型开发人员团队支持的Web应用程序以及需要对HTML进行高度控制的Web设计人员。ASP.NET MVC请求处理