个人意见:做网站其实最主要的就是将数据库里面的数据,展现出来,然后可以让用户进行对数据的操作,至于用那种方法,是其次,可以根据不同的要求来订。
三层架构是最基本的项目分层结果,而MVC则是三层架构的一个变体,MVC是一种好的开发模式。
要搞清楚他们的区别,就要搞清楚他们的概念:
mvc
M 即Model(模型层),主要负责出来业务逻辑以及数据库的交互
V 即View(视图层),主要用于显示数据和提交数据
C 即Controller(控制器),主要是用作捕获请求并控制请求转发
三层
三层:UI 界面层 BLL 业务逻辑层,DAL数据访问层,Model 实体层
区别:
1、一个是架构一个是设计模式(大原则上就有个差异)
2、MVC中有Controller这个 而三层架构没有(其实也可以有)
3、Model也有区别 MVC中的Model是有业务逻辑与数据访问组成
4、相同点就是都有个View(这个必须有)
没有最牛逼,只有最适合,比如:你不能让千里马去耕田吧,你不能让牛去跑比赛吧!找对你适合的,才是最牛逼的!
(题外话:用mvc开发出来的网站,url格式比三层搞出来的整洁,而且更加利于SEO,当然,在不对网站进行url重写的前提下)
(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{getset}
8):表单提交的时候,提供了自动装配的功能。
9):微软提供了很多全局的过滤器(身份校验过滤器,异常过滤器,Action过滤器,视图结果过滤器),这些都是MVC带来的新功能,使我们的开发能够更加的快速开发。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)