欢迎您来到,李雷博客 | PHP博客         登录  |   注册

MVC模式与三层架构是什么

更新:2023-03-22 08:11:13
人气:332
来源:互联网转载
A+

这篇文章主要介绍“MVC模式与三层架构是什么”,在日常操作中,相信很多人在MVC模式与三层架构是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MVC模式与三层架构是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

MVC模式

MVC模式是一种分层开发的模式,其中:

  • M:Model,业务模型,处理业务

  • V:View,视图,用于界面展示

  • C:Controller,控制器,处理请求,调用模型和视图

MVC模式与三层架构是什么

其中,控制器(Servlet)用来接收浏览器发送的请求,控制器调用模型(JavaBean)来获取数据,比如从从数据库查询数据,控制器获取数据后在交给视图(JSP)进行数据的展示。

使用 MVC 模式开发有很多的好处,例如,职责单一,互不影响,每个角色各司其职。有利于分工协作和组件重用等。

三层架构

三层架构的模型将我们的项目分成了三个层面,分别是表现层,业务逻辑层和数据访问层。其中数据访问层又称持久层。

MVC模式与三层架构是什么

  • 数据访问层:对数据库进行增删改查等基本操作。

  • 业务逻辑层:对业务逻辑进行封装,组合数据访问层中的基本功能,形成复杂的业务逻辑功能,例如注册业务功能,我们先调用数据访问层的 selectByName() 方法判断该用户名是否存在,如果不存在再调用数据访问层的 insert() 方法进行数据的添加操作。

  • 表现层:接收请求,封装数据,调用业务逻辑层,响应数据。

在整个流程中,浏览器发送请求,表现层的 Servlet 接收请求并调用业务逻辑层的方法进行业务逻辑处理,而业务逻辑层方法调用数据访问层方法进行数据的CRUD 操作,依次返回给 Servlet,然后 Servlet 将数据交给 JSP 进行展示。

三层架构的每一层都有特有的包名名称,以后我们在学习中就要使用更加规范的命名方式,他们分别是:

  • 表现层:org.chengzi.web 或者 org.chengzi.controller

  • 业务逻辑层:org.chengzi.service

  • 数据访问层:org.chengzi.mapper或者org.chengzi.dao

马上就要学习完 JavaWeb 了,后面我们会学习更多的框架,Spring,SpringMVC,MyBatis 等等,其实不同的框架是对不同层进行的封装,如图:

MVC模式与三层架构是什么

MVC和三层架构

我们已经说完了 MVC 模式和三层架构,下面来看看两者有什么关系呢?

MVC模式与三层架构是什么

如图,上半部分是 MVC 模式,后半部分是三层架构,其中,MVC 模式中的控制器和视图就是三层架构中的表现层,而 MVC 模式中的模型就是三层架构中的业务逻辑层和数据访问层。

IDEA 小技巧

解决 Ctrl+Alt+V 快捷键 自动补全代码失败的问题,如图:

MVC模式与三层架构是什么

原因:未添加 main() 方法

解决:在类中添加main() 方法,如果是在Servlet中,则添加toGet() 等方法。

如果将 MVC 理解为一个大的概念,那么三层结构就是对 MVC 模式实现架构的思想,根据标准,我们将不同层的代码放在不同的包下,每一层里面职责单一,将来如果表现层的技术更新迭代,而业务逻辑层和数据访问层的代码则不用发生变化,大大提高的代码的可维护性。

转载请注明: MVC模式与三层架构是什么 | 李雷博客 - PHP博客
推荐的文章
Python的文本文件转换编码问题怎么解决
Go语言中的自动化构建和部署技术
怎么在Linux上安装Node.js8
PHPStorm如何实现自动执行代码格式化
  Ads by Google
  PHP经验分享
  • ●   PHP实现计算CRC-16/MODBUS校验位
  • ●   MySQLSUM在没有符合查询条件时返回结果为空的处理办法
  • ●   如何开启PHP8的JIT提升运行速度
  • ●   钉钉API接口-用PHP+Curl实现获取用户信息
  • ●   钉钉API接口-用PHP+Curl实现获取应用Access_Token
  • ●   在PHP中使用CURL,“撩”服务器只需几行——phpcurl详细解析和常见大坑
  • ●   MySQLInnodb并发涉及参数说明
  • ●   mysql参数调优之innodb_thread_concurrency、innodb_concurrency_tickets合理的使用cpu性能
  • ●   PHP用fsockopen检测指定IP端口是否开启可用
  • ●   PHP用socket检测服务器IP端口是否开放?代码示例
网站地图
XML地图
随手记
本站声明
博客移动版
会员服务
PHP经验分享
帮助中心
关于我们
联系我们
获取积分
QQ:858353007
 
广告服务
广告优势
付款方式
mdaima@126.com
加我微信
移动端访问
 
 
Copyright © 2014- 2024 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4
   

哆哆女性网武汉东一时区紫石英事件姓孙起名谍影重重6西部世界电影非主流可爱美女图片防水涂料公司起名乐卡影视公司起名字五行补水补金的字袁隆平团队海水稻亩产千斤青春期撞上更年期分集介绍切腹卫视直播在线观看海南联通慧起名姓江的女孩子可以起什么名字卫国戍边英雄获评五四奖章集体苗子钢琴别恋猪qq头像鸟鸣涧赏析西安哪里有专业起名的雪中悍刀行青鸟结局是什么取名起名大全 吉祥天使不曾离开1朱姓女宝宝起名三少爷的剑电影德玛西亚视频站敬老爱老8月10日淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化