码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MVC与三层架构


    MVC模式

    MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC将应用程序分成三个核心部件:

    • M:Model 模型
      主要包括业务逻辑模块(web项目中的Action,dao类)和数据模块(pojo类)。模型 与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性
    • V:View 视图
      用户与之交互的界面、在web中视图一般由jsp,html组成
    • C:Controller 控制器
      接收来自界面的请求 并交给模型进行数据处理后展示到视图,或者直接由视图展示。 在这个过程中控制器不做任何处理只是起到了一个连接的作用

    它属于设计模式的范畴,就如同其他设计模式一样,模式的出现就是为了对某种功能的优化,而MVC模式可以看做是对三层架构中的表现层的一种细分优化
    MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易

    主要功能

    模型(JavaBean):业务逻辑操作,比如封装数据,处理业务数据(调用数据库)

    视图(JSP):展示数据

    控制器(Servlet):获取客户端的输入,调用模型,查询数据获取数据,将数据交给视图展示

    在这里插入图片描述

    优点:
    1. 耦合度低,三者各司其职,方便维护,利于分工。
    2. 重用性高
    缺点:
    1. 使得项目架构变得复杂,对开发人员要求高

    三层架构

    • 数据访问层(dao/mapper)

      对数据库的CRUD基本操作,操作数据存储文件

    • 业务逻辑层(service)

      对业务逻辑进行封装,组合数据访问层中的基本功能,形成复杂的业务逻辑功能,处理业务逻辑

    • 表现层(controller)

      接收请求,封装数据,调用业务逻辑层,响应数据,用户看的界面,用户可以用过界面上的组件和服务器进行交互
      在这里插入图片描述

    MVC与三层架构的关系

    MVC并不等同于三层架构,MVC只是三层架构中web层/界面层中的一种框架。而三层架构是一种设计模式

    框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度

  • 相关阅读:
    EMR重磅发布智能运维诊断系统(EMR Doctor)——开源大数据平台运维利器
    cudann官网上不见了,找不到了安装CUDA和CUDANN时,发现CUDANN不见了,官网甚至找不到一丝它的信息,公告也没有
    <sa8650>sa8650开发板-之-刷机教程(flashing)
    计算机等级考试嵌入式三级重点考点归纳
    AtCoder Beginner Contest 266 ABC题解
    Redisson-lock看门狗原理
    图的遍历-----深度优先遍历(dfs),广度优先遍历(bfs)【java详解】
    【性能测试】Jmeter插件之ServerAgent服务器性能监控工具的安装和使用
    ffmpeg.autogen使用问题
    一文搞懂BeanFactory 和 FactoryBean
  • 原文地址:https://blog.csdn.net/msq16021/article/details/126143724
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号