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

引入

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


MVC设计模式.jpg

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

MVC是什么?

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

MVC 划分依据
View层 是应用程序中处理数据显示的部分。
通常视图是依据模型数据创建的。
Control层 是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
Model层 是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。
  • View视图层,表示代码都是用于展示数据和界面的
  • Control层,表示代码都是用于处理企业数据和业务规则的
  • Model层,表示代码都是接受用户的输入调用模型和视图去完成用户的需求,本身并不处理业务逻辑!
    MVC

JavaWeb三层架构又是什么?

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


三层模式

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

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

MVC与三层模式的理解

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

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

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

三层模型 接受上层输入 对上层输出 对下层输入 接受下层输出 作用
UI层 客户端的请求(request) 返回一个应答response(新的页面、跳转) 传入调用需要处理的参数到业务层 收到一个下层返回的应答 1.展示内容给客户端
2.调用下层处理业务
业务逻辑层 接受UI层传入的参数 返回处理业务的结果 传入调用需要处理的参数到数据访问层 接受下层返回的处理结果 1.处理业务规则
2.调用下层获取数据
数据访问层 接受上层传入的参数 返回数据库访问结果 获取数据库数据
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,186评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,858评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,620评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,888评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,009评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,149评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,204评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,956评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,385评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,698评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,863评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,544评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,185评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,899评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,141评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,684评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,750评论 2 351