您的位置:首页 > 运维架构 > 网站架构

MVC框架与三层架构

2015-08-09 11:53 423 查看
    起初,在初步碰到MVC时,师哥说,只要学过三层的人,整体上看MVC框架就容易多了,于是乎:三层?MVC?
下面就让小编为您解开这面纱。
 
[三层架构]:
通常意义上的三层架构就是将整个业务逻辑应用划分为:表现层(UI),业务逻辑处理层(BLL),数据访问层(DAL).(如果程序需要,还可以分多层)三层是为了解决整个应用程序中各个业务操作过程中代码封装问题,为了使程序员更加专注的处理某层的业务逻辑。所以区分层次的目的是“高内聚,低耦合”。
三层架构的实现过程:



 
[MVC架构]:
     全名为 Model View Controller,是模型(model)——视图(view)——控制器(controller)的缩写。MVC主要是
     为了解决应用程序用户界面的样式替换问题,换句话说,就是界面样式的转换,不影响业务代码的实现。MVC                把纯净的界面展示独立的抽出放到view中,把一些和用户交互的程序逻辑独立的放到controller文件中,在views
     和controller中传递的数据独立的封装在实体对象models中。
    1 模型Model: 
        包括要处理的业务代码和数据操作代码,很多人误把这里的model当成三层中的实体model层,其实除了名字一样以外,其他的都不一样了。三层中的model,是对数据库各个表的一个映射,方便整个应用程序调用;而在MVC架构中,model层主要负责业务逻辑以及与数据库的交互。用于封装与应用程序的业务逻辑相关的数据以及对数据的处理方法.“模型”有对数据直接访问的权利。
   2 视图View

     主要是指的跟用户打交道,并能够展示数据的界面。在视图中,并没有真正的处理发生,它只是接受用户的要求,并将要显示的内容显示给用户看。所以,这个视图相当于三层的UI层。
   3 控制器Controller

    可以看成是Model
和view的桥梁。控制器接受用户的输入
并调用模型和视图去完成用户的需求。所以,当单机web页面中的按钮时,控制器本身不输出任何东西和做任何处理,只是将视图上的内容传递给模型,再将从模型中获得的内容转发给视图,最后体现给用户。
MVC架构的实现过程:



[三层和MVC联系与区别]:
     看三层和MVC之间的对应关系:



    
同时架构级别的。但使用范围不尽相同。三层可以应用与任何语言,任何技术的应用程序,而MVC只是为了解决BS应用程序中界面和业务逻辑的耦合关系。它们互不冲突,可以同时存在。
 
    相同的地方就是它们都有一个表现层。但是它们不同的地方在于其他两个层。MVC架构中的Model层就相当于三层的B层和D层,最为不同的是在三层中并没有controler的概念。

    你可以说三层和MVC有关联,你也可以说三层和MVC没有任何关系,这都不要紧,我认为这是学习的一个不断认知的过程,只要自己能想明白它们彼此,我感觉这就够了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息