一、 MVC

MVC是软件工程中的一种软件架构模式,分为Model(模型)、View(视图)、Controller(控制器)

1. Model

model是应用对象,程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)

2. View

view负责显示数据和提交数据

3. Controller

Controller定义用户界面对用户输入的响应方式,主要是用作辅助捕获请求并控制请求转发

4. 为什么要用MVC

  1. 可以为一个模型提供多个不同的视图表现形式;
  2. 在为一个模型创建新的视图时无需重写模型
  3. 使用MVC将model、view、controller三者进行分离可以降低层与层之间的依赖,做到高内聚低耦合
  4. 有利于标准化
  5. 在开发时只需要关注整一个结构中的某一部分

二、三层架构

三层架构通常指将整个业务应用分为三个部分:展示层(UI)、数据访问层(DAL)、业务逻辑层(BLL)

1. 展示层

主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。

2. 数据访问层

也叫持久层。访问数据库,主要实现对数据的增删查改。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。

3. 业务逻辑层

在展示层与数据访问层之间,主要实现业务逻辑,具体包含:验证、计算、业务规则等。

4. 实体层

不是说三层架构吗?为什么会多出一层?其实实体层不属于三层中任何一层,但它是必不可少的

它实现了面向对象思想中的“封装”

连接三层,在三层之间传输数据

5. 三层之间的依赖关系

三、MVC与三层架构之间的关系

MVC不是三层架构

三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目。

MVC是一个设计模式,它是根据项目的具体需求来决定是否适用于该项目。

但它们都有同一个作用就是解耦合,只是划分的界限不一样罢了

三层架构中的UI对应MVC中的view(jsp),都是用于显示以及获取界面的数据;三层架构中的BLL层和DAL层对应MVC中的Model(javabean)层都是用于处理上层传递来的数据以及从数据库获取的数据的;MVC中的Controller(Servlet)最多算是三层架构中的UI的一部分,也就我们常说的是Servlet。

MVC与三层架构之间的关系相关推荐

  1. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  2. MVC与三层架构模型笔记

    文章目录 1. MVC 1.1 什么是MVC 1.2 为什么需要MVC 2. 项目的三层架构 2.1 表现层 User Interface layer 2.2 业务逻辑层 Business Logic ...

  3. 浅谈 MVC与三层架构

    引言: 使用Eclipse开发工具写Java Web项目时会发现,一个中型或者大型项目 随着代码的增多,会发现:代码既可以写在src目录下,也可以写在WebContent目录下.src下可以建很多包 ...

  4. MVC与三层架构理解

    文章目录 1. JSP的发展 2. MVC思想 优缺点 3. 三层架构 为什么使用三层 三层优缺点 4. MVC与三层架构的区别 1. JSP的发展 早期只有Servlet,只能使用response输 ...

  5. MVC与三层架构区别

    我们平时总是将三层架构与MVC混为一谈,殊不知它俩并不是一个概念.下面我来为大家揭晓我所知道的一些真相. 首先,它俩根本不是一个概念. 三层架构是一个分层式的软件体系架构设计,它可适用于任何一个项目. ...

  6. MVC与三层架构的联系及三层架构实现学生注册功能

    MVC与三层架构的联系及三层架构实现学生注册功能 三层架构的逻辑关系: MVC和三层架构的联系: 三层架构实现学生注册功能的逻辑: 学生注册页面: 输入学生信息: 完成学生注册: 代码实现: add. ...

  7. 关于MVC与三层架构

    我认为MVC设计模式,关键在于构建Model,Model就是MVC模式的灵魂,他包含了三层架构里面的 "实体规范层"."行为规则层"."数据访问层&q ...

  8. JavaWeb——MVC与三层架构

    文章目录 JavaWeb--MVC与三层架构 1.三层架构 2.MVC 3.MVC与三层架构的对应联系 4.MVC与三层架构的区别 JavaWeb--MVC与三层架构 1.三层架构 三层架构 (3-t ...

  9. 什么是 MVC 和 三层架构?

    什么是 MVC 和 三层架构? MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻 ...

最新文章

  1. Javascript创建数组的方式你了解了吗
  2. 权威预测:2018年这十大数字化转型趋势要火!
  3. 如何在python中制作超级玛丽_教你利用Python写一款超级玛丽,零基础也能学会,超级装逼...
  4. 边工作边考研的计算机经验,边工作边考研的经验
  5. 4.1 使用STM32控制MC20拨打电话
  6. 牛客多校三 B Black and white
  7. 在 SAP BTP Kyma Runtime 上使用 Redis 读取和存储数据
  8. 《Oracle高性能自动化运维》一一3.3 Redo产生场景
  9. 【牛客 - 318G】LLLYYY的数字思维 与【牛客 - 289J】这是一个沙雕题II(贪心构造)
  10. linux 网络路径中网络协议栈有几种,linux网络路径中网络协议栈有几种
  11. (63)Verilog HDL模块例化VHDL模块
  12. js修改IOS微信title
  13. 菜鸟的Python学习之路(流水账)
  14. 图片url地址的生成获取方法
  15. register int 与 int 的区别
  16. Python3.6支付宝账单爬虫
  17. HDU4565 So Easy! (矩阵)
  18. 王者荣耀又开始“神仙”操作,全新的神仙英雄在体验服上线!
  19. 【转】Android屏幕适配全攻略(最权威的官方适配指导)
  20. Flask框架的搭建

热门文章

  1. oracle enq ta,【案例】Oracle等待事件event enq: KO - fast object checkpoint解决办法
  2. LabVIEW控制Arduino采集多路DS18B20温度数值(进阶篇—3)
  3. Python 实验六 文件访问
  4. 记录一次linux服务器被挖矿的解决
  5. 政务部门数据交换共享方式对比
  6. 学计算机的什么是镜像,系统镜像文件是什么 什么叫系统镜像文件
  7. 0816大疆笔试B卷
  8. 从公共汽车上报站名的学问说起 -- 谈数字在位置信息表示中的应用
  9. Scrapy:[scrapy.core.engine] DEBUG: Crawled (200)解决尝试
  10. 详细简单的php图片轮播,最简单的JavaScript图片轮播代码(两种方法)_javascript技巧...