• 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层/界面层中的一种框架。而三层架构是一种设计模式

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

  • 相关阅读:
    Vue源码用到了哪些设计模式
    各种注意力机制,Attention、MLP、ReP等系列的PyTorch实现,含核心代码
    【Maven入门篇】(1)详细讲解Maven的安装&&报错解决
    QT、C++实现地图导航系统(mapSystem)
    二十六、文件系统API(设备在应用间的共享;目录和文件API)
    在 Spring Boot 中使用 Dataway 配置数据查询接口
    简要解析@SpringBootApplication
    Go 语言中 defer 使用时有哪些陷阱?
    RetinaNet-Obj
    Autosar MCAL-ICU输入捕获
  • 原文地址:https://blog.csdn.net/msq16021/article/details/126143724