MVC三和,你能辨别它?

   上次我们聊的时间MVC,而之前我们学习过三层。那么我们不禁就要问,他们说的是一回事吗。他们有什么联系吗?

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

区分层次的目的即为了高内聚。低耦合的思想。
    1
、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。


    2、业务逻辑层(BLL):针对详细问题的操作。也能够说是对数据层的操作。对数据业务逻辑处理。


    3
、数据訪问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、改动、更新、查找等。


    MVC
怎样工作MVC是一个设计模式。它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。


    1.模型Model 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑。实现详细的业务逻辑、状态管理的功能。


    2.
视图View 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。就是与用户实现交互的页面,通常实现数据的输入和输出功能。
  3.控制器controller控制器工作就是依据用户的输入,控制用户界面数据显示和更新model对象状态。起到控制整个业务流程的作用。实现View层跟Model层的协同工作。

    MVC Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层。也就是说,MVC把三层架构中的UI层再度进行了分化,分成了控制器、视图、实体三个部分。控制器完毕页面逻辑。通过实体来与界面层完毕通话;而C层直接与三层中的BLL进行对话。
    mvc能够是三层中的一个表现层框架,属于表现层。

三层和mvc能够共存。
    三层是基于业务逻辑来分的,而mvc是基于页面来分的。
    非常多人就同MVC里的三个核心部件同三层架构等同起来,觉得界面层等于View,业务逻辑层等于Controller,数据訪问层等于Model。这是全然错误的。

MVC设计模式解决的是页面代码、页面控制逻辑和数据耦合的问题。所以它首先属于界面层。

    比方:Asp.netMVCStructs都是界面层框架。MVC里的Controller是负责对页面进行控制的。比方:页面间跳转,显示逻辑等。

三层架构里的业务逻辑层主要是对业务实体数据的加工,把加工后的数据传给页面显示。

MVC里的Model仅仅是数据实体,是数据的easy。不具备什么增删改查的功能。他接收的数据是从业务逻辑层处理好传过来的数据。而三层架构里的数据訪问层是具有增删改查功能的,是直接对数据库操作的,为业务逻辑层提供数据支持。

    三层架构是典型的架构模式(Architecture Pattern
    三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,而是相互协作关系。

即使将MVC当作架构模式,也不是分层模式。

MVC和三层架构基本没有可比性,它适用于不同的技术领域。

版权声明:本文博主原创文章,博客,未经同意不得转载。

posted @ 2015-10-11 16:55  hrhguanli  阅读(229)  评论(0编辑  收藏  举报