Java笔试面试JavaJava高级进阶

MVC设计模式与三层模式的理解

2019-08-15  本文已影响0人  pujess

引入

先看使用MVC设计模式的一个例子:一个学生管理系统通过实现对学生信息的查询显示。先忽略图中JavaWeb的三层框架,只看MVC设计模式。


MVC设计模式.jpg

可能大家会很懵,啥是MVC,啥是三层架构,放在一起傻傻分不清。不着急,且慢慢看。

MVC是什么?

——它是一种设计模式!
何谓设计模式?设计模式就是用让代码更容易让人理解的方式写代码!比如说我可以把所有功能都写在同一个函数里面像汇编语言一样,可是那样很难让人理解对吧,所以分函数、分对象来设计代码就会容易理解容易编写代码。这就是设计模式。
而MVC就是一种为了让代码更容易理解而产生的设计模式,它把代码类型给划分成三层:

MVC 划分依据
View层 是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Control层 是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
Model层 是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。

JavaWeb三层架构又是什么?

其实是一种javaWeb常用的体系架构,虽然也是用某一层来表示某一类代码的功能,但是划分不一样


三层模式

MVC与三层模式的联系与区别

如何理解三层架构与MVC_百度经验
三层模式是体系结构模式,MVC是设计模式(实际上体系结构和设计模式都是对代码功能的划分——他们的作用都是为了降低系统耦合度
三层模式又可归于部署模式(侧重于业务逻辑与数据),MVC可归于表示模式(侧重于界面与页面逻辑控制)

MVC与三层模式的理解

无论是体系结构模式还是设计模式,它的作用都是为了降低系统耦合度,也就是说把系统代码给划分成几个互不相关的部分,不同部分解决不同问题,每一个部分都可以从一个特定的输入得到一个特定的输出,部分之间联系就是靠一个的输出即为另一个的输入的方式。

MVC 接受上层输入 对上层输出 对下层输入 接受下层输出 作用
View层 客户端的请求(request) 返回一个应答response(新的页面、跳转) 收到一个下层返回的应答 1.提供客户端给控制层传参的入口;
2.展示内容给客户端
Control层 客户端在返回的视图层发出的请求 返回一个应答 传入调用需要处理的参数到模型层 接受下层返回的处理结果 调用模型层去处理业务并转发给视图层展示
Model层 接受控制层传入的参数 处理业务规则

可以看到用户在客户端(浏览器)可以访问控制层,看到视图层

三层模型 接受上层输入 对上层输出 对下层输入 接受下层输出 作用
UI层 客户端的请求(request) 返回一个应答response(新的页面、跳转) 传入调用需要处理的参数到业务层 收到一个下层返回的应答 1.展示内容给客户端
2.调用下层处理业务
业务逻辑层 接受UI层传入的参数 返回处理业务的结果 传入调用需要处理的参数到数据访问层 接受下层返回的处理结果 1.处理业务规则
2.调用下层获取数据
数据访问层 接受上层传入的参数 返回数据库访问结果 获取数据库数据
上一篇下一篇

猜你喜欢

热点阅读