MVC和三层架构的区别

2023-10-27

M:(Model) 模型 : 应⽤程序的核⼼功能,管理这个模块中⽤的数据和值(bean,dao);
V(View )视图: 视图提供模型的展示,管理模型如何显示给⽤户,它是应⽤程序的外观;(jsp/html)
C(Controller)控制器: 对⽤户的输⼊做出反应,管理⽤户和视图的交互,是连接模型和视图的枢纽。
(servlet/service)
MVC⽤于将web(UI)层进⾏职责解耦
说明:mvc设计模式(不属于23种设计模式)

三层架构 通常意义上的三层架构就是将整个业务应⽤划分为:表现层(UI)、业务逻辑层(BLL)、数
据访问层(DAL)。区分层次的⽬的即为了“⾼内聚,低耦合”的思想。
1、表现层(UI):通俗讲就是展现给⽤户的界⾯,即⽤户在使⽤⼀个系统的时候他的所⻅所得。
jsp/html
2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
servlet,service
3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、更新、查找
等。dao
表现层实现的代表作品是Struts,springmvc框架,
业务层实现的代表作品是Spring,
持久层实现的代表作品是Hibernate,mybatis。
层就相当于⼀个⿊盒⼦,我们不⽤知道它内部怎么实现,只需要知道如何去调⽤它就⾏了。每层只与上
下相邻的两层打交道。当⼀层内部由于技术变迁发⽣变化时,只要接⼝不变,其他层不⽤做任何改变。
分层之后灵活性提⾼,也便于团队分⼯开发。
MVC是 Model-View-Controller,严格说这三个加起来以后才是三层架构中的UI层,也就是说,MVC把
三层架构中的UI层再度进⾏了分化,分成了控制器、视图、实体三个部分,控制器完成⻚⾯逻辑,通过
实体来与界⾯层完成通话;⽽C层直接与三层中的BLL进⾏对话。
MVC可以是三层中的⼀个表现层框架,属于表现层。三层和mvc可以共存。
三层是基于业务逻辑来分的,⽽MVC是基于⻚⾯来分的。
MVC主要⽤于表现层,3层主要⽤于体系架构,3层⼀般是表现层、中间层、数据层,其中表现层⼜可以
分成M、V、C,(Model View Controller)模型-视图-控制器
MVC是表现模式(Presentation Pattern)
三层架构是典型的架构模式(Architecture Pattern)
三层架构的分层模式是典型的上下关系,上层依赖于下层。但MVC作为表现模式是不存在上下关系的,
⽽是相互协作关系。即使将MVC当作架构模式,也不是分层模式。MVC和三层架构基本没有可⽐性,是
应⽤于不同领域的技术

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC和三层架构的区别 的相关文章

  • JAVA获取IP地址、电脑Mac地址

    1 获取IP地址 注意 IP地址经过多次反向代理后会有多个IP值 其中第一个IP才是真实IP 所以不能通过 request getRemoteAddr 获取IP地址 如果使用了多级反向代理的话 X Forwarded For的值并不止一个
  • Maven的从入门到精通(完结篇)

    Maven的从入门到精通 完结篇 一 maven工程运行调试 1 1 端口占用处理 1 2 断点测试 二 总结 2 1 maven仓库 2 2 常用的maven命令 2 3 坐标定义 2 4 pom 基本配置 本文是Maven学习中的完结篇
  • android pull 解析xml

    Pull简介 1 常见的XML解析方式有三种 DOM SAX Pull Android系统中推荐使用Pull 2 Pull解析器是一个开源的Java项目 Android系统内部解析XML文件均为此种方式 也可用于JavaEE项目 3 And
  • maven学习总结

    众所周知 maven的两大作用是项目构建和依赖管理 除此之外 基于多模块项目 maven常用的功能还有模块化管理 项目构建 Maven是一个构建工具 可以根据项目中的配置文件 pom xml 来自动执行项目的构建过程 它可以将源代码编译 运
  • 零基础自学计算机方法大全

    欢迎入读 尚学堂给同学们带来全新的Java300集课程啦 java零基础小白自学Java必备优质教程 学习从来没有捷径 只有学成之后才会一切是那么简单 想要学会编程 一定要有坚定的信念 1 选方向 定目标 首先你需要做好功课 了解计算机的分
  • Struts2正则表达式校验

    原文地址 http woxiangbo iteye com blog 463397 下default xml文件 然后在xwork源代码中 需单独下载 找到相应的处理类 param即该类的属性 intege 1 9 d 整数 intege1
  • Redis(三)

    一 SpringBoot与Redis集成 1 引入依赖
  • HmacMd5加密算法

    package com haiyisoft evportal token action import java security MessageDigest import java security NoSuchAlgorithmExcep
  • Java会话技术

    会话技术 会话指的是客户端浏览器和服务端之间的度偶次请求和响应 当打开浏览器 访问网站地址后 会话开始 当关闭浏览器 或者到了过期时间 会话结束 就像打电话只要不挂电话就是一次会话 会话过程中产生的数据可以通过会话技术Cookie Sess
  • Spring系列之@Aspect中5中通知详解

    Aspect中有5种通知 Before 前置通知 在方法执行之前执行 Aroud 环绕通知 围绕着方法执行 After 后置通知 在方法执行之后执行 AfterReturning 返回通知 在方法返回结果之后执行 AfterThrowing
  • 解析Java-throw抛出异常详细过程

    首先 我们知道Java有3种抛出异常的形式 throw 执行的时候一定抛出某种异常对象 throws 出现异常的可能性 不一定会发生 系统自动抛出异常 throw用在一个语句抛出异常的时候 throw an instance of exce
  • 2.HTTP协议(Requset、Response)

    目录 http协议 http报文解析 Http请求报文 浏览器 gt 服务器 1 请求行 2 请求头 3 空行 java处理http请求的常用方法 Http响应报文 服务器 gt 浏览器 1 响应行 2 响应头 3 响应正文 实体内容 ja
  • eclipse 环境配置第一个webapp的发布 及jsp代码的执行

    GBK 所有中文操作系统默认的编码 UTF 8 支持识别各个国家的字符 但这样 之前的代码如果用的是GBK编码 则会变成乱码 我们可以建一个新的工作区 新建一个文件夹 存放workspace 选择workspace位置后 等待重启 以后再建
  • 优质全套Spring全套教程

    hello 我是小索奇 这里把Spring全套笔记分享出来哈 便于大家查看 一起加油 Spring 1 Spring简介 1 1 Spring概述 官网地址 Spring Home Spring 是最受欢迎的企业级 Java 应用程序开发框
  • 基于Java EE架构的汽车车辆管理系统设计与实现-计算机毕业设计源码68424

    摘 要 科技进步的飞速发展引起人们日常生活的巨大变化 电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用 信息时代的到来已成为不可阻挡的时尚潮流 人类发展的历史正进入一个新时代 在现实运用中 应用软件的工作规则和开发步
  • JUC的常见类

    目录 Callable ReentrantLock Semaphore CountDownLatch JUC 即 java util concurrent 其中存放了一些进行多线程编程时有用的类 Callable Callable是一个接口
  • 【计算机毕业设计】电影播放平台

    电影播放平台采用B S架构 数据库是MySQL 网站的搭建与开发采用了先进的java进行编写 使用了springboot框架 该系统从两个对象 由管理员和用户来对系统进行设计构建 主要功能包括 个人信息修改 对用户 电影分类 电影信息等功能
  • 【计算机毕业设计】毕业生就业管理微信小程序_lm9q0

    腾讯公司在2017年1月19日发布了一款不需要下载 不需要卸载 不需要存储的软件叫微信小程序 受到了很多人的喜欢 微信小程序自2017年发布至今 依托微信的社交属性和庞大的用户基数 已经渗透到生活的方方面面 1 微信小程序可以将基于微信平台
  • 【计算机毕业设计】宝鸡文理学院学生成绩动态追踪系统

    研究开发宝鸡文理学院学生成绩动态追踪系统的目的是让使用者可以更方便的将人 设备和场景更立体的连接在一起 能让用户以更科幻的方式使用产品 体验高科技时代带给人们的方便 同时也能让用户体会到与以往常规产品不同的体验风格 与安卓 iOS相比较起来
  • 【计算机毕业设计】springbootstone音乐播放器的设计与实现

    随着我国经济的高速发展与人们生活水平的日益提高 人们对生活质量的追求也多种多样 尤其在人们生活节奏不断加快的当下 人们更趋向于足不出户解决生活上的问题 stone音乐播放器展现了其蓬勃生命力和广阔的前景 与此同时 为解决用户需求 stone

随机推荐

  • Python接口自动化测试之详解post请求

    前言 在HTTP协议中 与get请求把请求参数直接放在url中不同 post请求的请求数据需通过消息主体 request body 中传递 且协议中并没有规定post请求的请求数据必须使用什么样的编码方式 所以其请求数据可以有不同的编码方式
  • wpscloudsvr.exe 怎么删除

    WPS Office安装之后 一直很卡 主要是wpscloudsvr exe这个登录账号的进程太卡了 把它禁止了就行了 1 打开 任务管理器 gt 服务 gt 找到 wpscloudsvr 右键 停止 2 先打开wps 任务管理器 gt 进
  • python 使用 pymssql 调用存储过程并让他返回值

    众所周知 pymssql 库并不支持 暂时 调用存储过程 只能使用原生的sql 语句让其调用 这样一来如果需要让pymssql调用存储过程并让其返回值 显然return语句是不能用了 但是我们可以使用 select 语句让其返回值 比如 我
  • Redis之key和value可以存储的最大值

    文章目录 Redis之key和value可以存储的最大值 1 Redis的key可以存储的最大值 2 Redis的value可以存储的最大值 Redis之key和value可以存储的最大值 1 Redis的key可以存储的最大值 虽然Key
  • ue4文档学习进度

    由于Ue4文档很多 有时又间隔一段时间再看 忘了在哪里了 所以先记录下 截至2022年1月18日 触发器Actor https docs unrealengine com 4 26 zh CN Basics Actors Triggers
  • STM32野火指南者中断EXTI按键点灯

    一 野火官方中断框图 1 输入线 外部中断选择 如 EXTI0 EXTI19 2 配置中断所需寄存器 如 GPIO EXTI NVIC 3 按键1按键2 采用上升沿 下降沿触发 自己设定 二 编程顺序 1 初始化GPIO 即连接到EXTI的
  • [Android学习] 1. 简易登录界面设计

    通过对活动及控件的学习 今天制作一个简易登录界面 简要记录一下操作过程 遇到的问题及学到的经验 希望各位老师多多提出问题不吝赐教 预期设计效果图 设计要求 1 布局不限 参考上图 2 利用EditText制作输入框 有语言提示 3 登录注册
  • 浅谈企业微信公域到私域流量玩法

    一 搭建私域流量池 高效引流客户 客户通过渠道活码添加员工 自动打标签 实时统计引流情况 发送个性化的欢迎语 第一时间送上问候 二 将企业公域流量引流裂变为私域 生成引流裂变海报 通过老用户奖励式分享拉新 实现用户指数级增长 加强用户联系
  • AMD GPU安装运行stable diffusion

    本文操作环境为Windows10 11 AMD AI绘画是一种利用人工智能技术进行绘画的方法 它可以通过机器学习算法来学习艺术家的风格 并生成类似于艺术家的作品 最近 AI绘画技术得到了很大的发展 许多公司和研究机构都在进行相关的研究和开发
  • [C-SAE] SPAT解析消息及说明

    1 消息内容
  • PyTorch 训练一个分类器

    文章目录 0 前言 1 加载和规范化CIFAR10 2 定义一个卷积网络 3 定义损失函数和优化器 4 训练网络 5 测试网络 6 在GPU上训练模型 参考资料 0 前言 TRAINGING A CLASSIFIER 这篇教程很清楚的描述了
  • Visual Studio 2017 许可证已过期解决方案

    参考文章 https blog csdn net qq 19678579 article details 76692822
  • 防缓存穿透利器-隆过滤器(BloomFilter)

    防缓存穿透利器 布隆滤器 BloomFilter 一 布隆过滤器原理 如果想要判断一个元素是不是在一个集合中存在 一般的想法是将所有元素保存起来 然后再拿着这个元素在集合中一个一个进行比对 但是随着集合中元素的增加 我们需要的存储空间越来越
  • java实现九九乘法表

    以下仅是我自己的想法 小伙伴们有其他一些好的想法希望多多交流 以上是九九乘法表的运行图 从上图可以分析出 应该使用二重循环 由我之前的文章可知 二重循环外层控制行数 内层控制列数 所以一共有九行九列的二重循环 根据上图 可以很快写出如下代码
  • Java实现分数

    自己独立实现的 如果有bug或者错误 欢迎评论区留言 文章目录 文档 代码 文档 字段摘要 修饰符 字段 解释 static final Fraction ONE 分数 1 分子 分母都是1的分数 static final Fraction
  • URL——详解

    什么是URL URL 是 统一资源定位符 Uniform Resource Locator 的首字母缩写 中文译为 网址 表示各种资源的互联网地址 下面就是一个典型的 URL https www example com path index
  • 区块链:Solidity值类型(String字符串、固定大小字节数组、动态大小字节数组之间的转换)

    固定大小字节数组 Fixed size byte arrays 之间的转换 pragma solidity 0 4 4 contract C bytes9 name9 0x6c697975656368756e function bytes9
  • 【PyTorch教程】06-如何使用PyTorch搭建神经网络模型并进行训练

    本期目录 1 背景 2 神经网络中的输入输出关系 2 1 卷积层输入输出关系 2 2 填充输入输出关系 2 3 步幅输入输出关系 2 4 池化层输入输出关系 3 搭建网络 3 1 测试 3 2 总结 4 损失函数 5 反向传播 6 权重更新
  • 【java】FeignClient GET请求用对象传参 注解 @SpringQueryMap,@Param,@JsonProperty

    使用 SpringQueryMap 可以在 get 请求的时候使用对象传递参数 说明和例子如下 特别注意 使用 SpringQueryMap的情况下 需要使用 Param 来设置输出的别名 而不能使用 JsonProperty 例如 Que
  • MVC和三层架构的区别

    M Model 模型 应 程序的核 功能 管理这个模块中 的数据和值 bean dao V View 视图 视图提供模型的展示 管理模型如何显示给 户 它是应 程序的外观 jsp html C Controller 控制器 对 户的输 做出