之前做项目的时候用过三层架构,是一种分层式的软件体系架构。在这个新的项目中,我第一次接触到了MVC也用到了分层的思想,巧的很也是三层的结构,但是二者还是有很大的出处的。
1.MVC和三层区别
都是三层,前者是View,Controller,Model,后者是UI,BLL,DAL。三层目的在于解耦和,是一个系统整体的解耦,但是MVC侧重的是web系统的解耦,之前大家都接触过ASP.NET开发吧,里面有个ASPX前台用HTML来写的,后台是C#.cs也就是说是一个类。现在有了MVC,说它是一种框架是不准确的,更准确的身份是一种设计模式。
2.传统web和MVC区别
传统页面请求是根据请求的报文,会创建一个对应的页面类对象,在服务器端是不存在这个aspx页面的。类里面会执行load的代码,会输出我们请求的页面中的内容,通过IIS传回到浏览器,返回的是html+js+css。再来看MVC的请求过程,区别于传统的webform处理方式,它发送了一个index而不是index.aspx。之后根据路由配置来解析URL,并创建对象,调用index的方法。一般会通过view()方法来返回一个视图。