Webform和MVC,为什么MVC更好一些
1个回答
展开全部
(1)为什么使用MVC而不是用WebForm呢?这个是我临时想的,因为我就是想说明一下WebForm和MVC的优缺点,来可以使大家能够更好地理解MVC和WebForm,而不像某些人说MVC会替代WebForm,我个人认为这个可能性很小,因为各有各的好处,看在哪里使用吧,下面我就简单介绍下WebForm和MVC的优缺点。
(2)WebForm介绍
1)优点
1):支持事件模型,取决于微软提供了丰富的服务器端组建,WebForm可以快速的搭建Web应用。
2):使用非常方便,入门也很容易,但是要了解底层还是要付出很大的努力的,这就是我们.NET程序员被称为只会拖控件的原因。
3):微软提供了很大的一部分控件,也有很多公司开发出来了很多的控件来供我们程序员使用。
2)缺点
1):封装性特强,很多从底层封装出来的东西让我们初学者不是非常明白。
2):入门非常容易,但是如果不研究底层的话提升非常困难,所以我们一定有时间的话要研究底层。
3):复杂的生命周期模型学习起来并不是非常的容易,好多事件。
4):控制不是非常的灵活,服务器控件的控制非常不容易。
5):ViewState处理,在请求和响应之间来回的传递,当我们使用WebForm开发完网站之后,我们可以在浏览器中右键查看源代码会看到很多的ViewState,非常浪费资源和浪费服务器宽带。
6):异步请求的时候每个请求后台必须都有一个一般处理程序或者aspx页面对应。
(3)MVC
1)优点
1):MVC很容易的将复杂的应用分成M,V,C三个组件模型相对应,通过Model,View,Controler有效的简化了复杂的架构,体现了非常好的隔离原则。
2):因为没有使用server-based forms(事件响应模型),所以能够使我们程序员控制起来更加的灵活,页面更加的干净。
3):可以控制自定义的URL,也就是MVC中的路由机制,这可以说是MVC的一个亮点,再也不用我们在WebForm时代的配置静态页的过程了。而且对于SEO友好。能够更加的利用网络爬虫。
4):强类型的View实现,更加的安全,更加的可靠,更加的高效。
5):让Web开发者(程序员)可以更加的专注某一个层的开发,有利于我们分工配合使用大型架构的开发。
6):MVC下面对异步的处理更加有一个很好的支持,一个控制其下面可以有很多action,而每个action对应的可以有不同的请求。
7):MVC的校验非常的好,我们只需要给每个方法打入节点就可以实现不能为空等校验。
[requred]
Public string Name{get;set;}
8):表单提交的时候,提供了自动装配的功能。
9):微软提供了很多全局的过滤器(身份校验过滤器,异常过滤器,Action过滤器,视图结果过滤器),这些都是MVC带来的新功能,使我们的开发能够更加的快速开发。
(2)WebForm介绍
1)优点
1):支持事件模型,取决于微软提供了丰富的服务器端组建,WebForm可以快速的搭建Web应用。
2):使用非常方便,入门也很容易,但是要了解底层还是要付出很大的努力的,这就是我们.NET程序员被称为只会拖控件的原因。
3):微软提供了很大的一部分控件,也有很多公司开发出来了很多的控件来供我们程序员使用。
2)缺点
1):封装性特强,很多从底层封装出来的东西让我们初学者不是非常明白。
2):入门非常容易,但是如果不研究底层的话提升非常困难,所以我们一定有时间的话要研究底层。
3):复杂的生命周期模型学习起来并不是非常的容易,好多事件。
4):控制不是非常的灵活,服务器控件的控制非常不容易。
5):ViewState处理,在请求和响应之间来回的传递,当我们使用WebForm开发完网站之后,我们可以在浏览器中右键查看源代码会看到很多的ViewState,非常浪费资源和浪费服务器宽带。
6):异步请求的时候每个请求后台必须都有一个一般处理程序或者aspx页面对应。
(3)MVC
1)优点
1):MVC很容易的将复杂的应用分成M,V,C三个组件模型相对应,通过Model,View,Controler有效的简化了复杂的架构,体现了非常好的隔离原则。
2):因为没有使用server-based forms(事件响应模型),所以能够使我们程序员控制起来更加的灵活,页面更加的干净。
3):可以控制自定义的URL,也就是MVC中的路由机制,这可以说是MVC的一个亮点,再也不用我们在WebForm时代的配置静态页的过程了。而且对于SEO友好。能够更加的利用网络爬虫。
4):强类型的View实现,更加的安全,更加的可靠,更加的高效。
5):让Web开发者(程序员)可以更加的专注某一个层的开发,有利于我们分工配合使用大型架构的开发。
6):MVC下面对异步的处理更加有一个很好的支持,一个控制其下面可以有很多action,而每个action对应的可以有不同的请求。
7):MVC的校验非常的好,我们只需要给每个方法打入节点就可以实现不能为空等校验。
[requred]
Public string Name{get;set;}
8):表单提交的时候,提供了自动装配的功能。
9):微软提供了很多全局的过滤器(身份校验过滤器,异常过滤器,Action过滤器,视图结果过滤器),这些都是MVC带来的新功能,使我们的开发能够更加的快速开发。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询