首页 > 代码库 > MVC和三层架构的比较
MVC和三层架构的比较
以前涉及到.NET做项目,脑袋里面只有一个概念,那就是三层,最近学习了一种新的架构思想,那就是ASP.NET MVC+EF+EasyUI,我们的项目已经进行了一半了,对这个架构算是有了初步的认识。这篇博文主要是笔者对MVC和三层架构的一些理解。
MVC设计模式 VS 三层架构
一、概念不同
三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。
MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。
那么两者有什么不同呢?
首先,当我们接手一个项目时,要设计软件的架构,如我们在做机房的时候才用的三层架构。然后根据需求看能否给这个架构添加设计模式,比如我们现在要说的MVC,所以在本质上,三层和MVC是两个完全不同的概念,MVC是在三层架构上的进一步优化和提高。
二、目的不同
三层架构的目的是结构,实现高内聚、低耦合的设计思想。
MVC是对Web系统的职责划分,我们知道传统的网页使用的是WebForm窗体,即.aspx窗体,它的界面和后台代码仅仅的耦合在一起,而MVC的使用,则使得前台显示和后台代码分割开来,根据Controller来控制对不同界面的访问,这就是我们的UI显示更加灵活了,试想,如果用webform窗体,那面那些封装的控件什么的,只能用在电脑上显示,如果我想在手机上也浏览就不行了。而MVC中的view就很好的解决了这个问题,通过Rezor视图,可以很好的控制界面的显示。
三、划分层次不同
三层:分为表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)
MVC:即模型(Model)、视图(View)、控制(Controller)
它们的对应关系如下:
总结:这次通过一中评教这个项目,学习到许多新的知识,算是对自己实践经验的丰富,但是同时也感受到自己敲的代码太少了,学完了B/S的理论知识,要真正把这些知识运用到实践中才是真正的掌握了。还有一点体会就是,多多总结,尤其是自己学过去的知识,这些都是财富,当自己再一次要用到的时候,能够快速的找到那才算是对自己的知识有了很好的管理。
MVC和三层架构的比较