码迷,mamicode.com
首页 > Web开发 > 详细

MVC与三层架构区别之我见

时间:2015-03-28 11:23:09      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:

      我是刚学习MVC和三层架构不久,通过学习,对MVC与三层架构也大概了解了一些,我来谈谈我对MVC与三层结构之间的区别。如果有什么不对的地方,烦请各位指出,谢谢!

      好了,回到正题。。。

      首先,我们可以先从逻辑上区分,举个不恰当的例子:就拿房屋来说,三层架构就像房屋的基本结构,MVC就像你理想的房子设计图

      接下来,我再具体谈谈三层结构和MVC。。。

     (一)三层架构

      1、通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)业务逻辑层(BLL)数据访问层(DAL)

      2、区分层次的目的即为了“高内聚,低耦合”的思想。

      3、表现层(UI):通常讲就是展现给用户的东西,用户能够看到的界面、视频、音频等,即用户操作系统时的所见所得。

      4、业务逻辑层(BLL):从字面上不难理解,就是对业务所需的功能和要求进行处理,并与数据库进行交互,从而将用户所需的数据通过表现层展示在用户面前。

      5、数据访问层(DAL):本层就是负责对数据库进行操作,包括对数据的增删该和查询等操作。

      (二)MVC

       1、MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controler)的缩写。

       2、MVC是一种软件设计典范,用于组织代码用一种业务逻辑和数据显示分离的方法。

       3、模型(model):是业务提供者,决定了软件提供的功能,其内部可能是一些普通的类或实现某一功能的接口等。

       4、视图(view):就是用户看到的并能够与之交互的一些界面。

       5、控制器(controler):就是处理用户的操作并将最终结果反馈到用户所需界面的一组操作。

       最后,我们再来看看他们之间的具体区别。。。

       从上述的MVC和三层架构中不难发现,MVC貌似就是从三层架构中分出来的UI层,其实严格说MVC中model,view,controler这三个加起来以后才是三层架构中的UI层,也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分,控制器完成页面逻辑,通过实体来与界面层完成通话;而controler层直接与三层中的BLL进行交互。

      我们再回到刚开始的那个房屋例子,我们可以想象:三层架构中表现层就是你所看到的自己设计的房屋样子,业务逻辑层就相当于建房屋所需的建筑学等知识,数据访问层相当于建房屋所需的材料。MVC就相当于你最终建成的房屋样子,而MVC中的model相当于。。。。(呵呵,剩下的你自己去想。。。)

MVC与三层架构区别之我见

标签:

原文地址:http://www.cnblogs.com/zhouxianghui/p/4373691.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!