首页 > 其他分享 >MVC模式和三层结构

MVC模式和三层结构

时间:2023-04-22 21:48:16浏览次数:29  
标签:逻辑 架构 业务 模式 MVC 三层 数据

MVC模式和三层架构

MVC 模式和三层架构是一些理论的知识,将来我们使用了它们进行代码开发会让我们代码维护性和扩展性更好。

MVC模式

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

*M:Model,业务模型,处理业务
*V:View,视图,界面展示
*C:Controller,控制器,处理请求,调用模型和视图

控制器(serlvet)用来接收浏览器发送过来的请求,控制器调用模型(javaBean)来获取数据,比如从数据库查询数据;控制器获取到数据后
在交由视图(JSP)进行数据展示。

MVC好处:

职责单一。每个角色做它自己的事,各司其职。
有利于分工协作。
有利于组件重用
三层架构

数据访问层:对数据库的CRUD基本操作

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

表现层:接收请求,封装数据,调用业务逻辑层,响应数据
而整个流程是,浏览器发送请求,表现层的Servlet接收请求并调用业务逻辑层的方法进行业务逻辑处理,而业务逻辑层方法调用数据访问层方法进行数据的操作,依次返回到serlvet,然后servlet将数据交由 JSP 进行展示。

三层架构的每一层都有特有的包名称:

表现层: com.itheima.controller 或者 com.itheima.web
业务逻辑层:com.itheima.service
数据访问层:com.itheima.dao 或者 com.itheima.mapper

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

可以将 MVC 模式 理解成是一个大的概念,而 三层架构 是对 MVC 模式 实现架构的思想。 那么我们以后按照要求将不同层的代码写在不同的包下,每一层里功能职责做到单一,将来如果将表现层的技术换掉,而业务逻辑层和数据访问层的代码不需要发生变化。

标签:逻辑,架构,业务,模式,MVC,三层,数据
From: https://www.cnblogs.com/yzx-sir/p/17344035.html

相关文章

  • SpringMVC 后台从前端获取单个参数
    1.编写web.xml(模板)2.springmvc配置文件3.编写对应数据库字段的pojo实体类@Data@AllArgsConstructor@NoArgsConstructorpublicclassUser{privateintid;privateStringname;privateintage;}ViewCode4.编写Controller类首先是从前端获取单......
  • 设计模式-模板模式在Java中的使用示例-悍马模型制造示例
    场景设计模式-模板模式在Java中的使用示例:设计模式-模板模式在Java中的使用示上面整理了模板模式的使用示例,为加强理解特记录另一个使用示例,以下示例摘自设计模式之禅第二版。模板方法模式定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即......
  • Python 设计模式详解
    一、创建型模式1、工厂方法 Factory工厂方法是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型制造业是一个国家工业经济发展的重要支柱,而工厂则是其根基所在。程序设计中的工厂类往往是对对象构造、实例化、初始化过程的封装,而工厂方法则可以升......
  • Rust编程语言入门之模式匹配
    模式匹配模式模式是Rust中的一种特殊语法,用于匹配复杂和简单类型的结构将模式与匹配表达式和其他构造结合使用,可以更好地控制程序的控制流模式由以下元素(的一些组合)组成:字面值解构的数组、enum、struct和tuple变量通配符占位符想要使用模式,需要将其与某个值进行比......
  • x64逆向——MT、MT在release和debug下的四种模式寻找main入口
    vs代码生成四种模式:MT选项:链接LIB版的C和C++运行库。在链接时就会在将C和C++运行时库(LIBCMT.LIB、LIBC.LIB)集成到程序中,程序体积会变大。MTd选项:LIB的调试版。MD选项:使用DLL版的C和C++运行库,这样在程序运行时会动态的加载对应的DLL,程序体积会减小,缺点是在系统没有对应DLL时程序无......
  • SpringMVC 常用注解
    1、@Controller   @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVCController 对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否使用了@RequestMapping 注解。@Controller 只是定义了一个控制器类,而使用@RequestMapping 注解的方法才......
  • 设计模式之[构建者模式(Builder)]-C#
    说明:构建一个大对象时,可以分解成一个部分一个部分的构建,比如一台电脑由CUP、内存、主板、屏幕等,这些配件本身就是一个复杂的制造过程,一个一个构建后然后才组装成一台新的电脑。步骤1、定义要构建的对象——电脑2、定义一个抽象的构建器,内部的每个抽象方法构建一个配件并返回构......
  • SpringMVC 简单的开始
    SpringMVC简单的开始利用Spring模板配置写一个web项目。1.核心配置文件(模板代码)<?xmlversion="1.0"encoding="UTF-8"?><web-appxmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • bs与cs模式-java、ipBS架构和CS架构的区别
    http://m.d3zww.com/s.php 书库BS架构和CS架构的区别https://ding-doc.dingtalk.com/ 钉钉文档https://oa.dingtalk.com/ 钉钉-办公https://gitee.com/hcking/ gitee主页 https://shiniest.cn/ 博客https://weibo.com/hongchen5211314 微博主页支付接口创建订单号 ......
  • NB-IoT低功耗——模式设置
    文章目录一、前言二、中国电信物联网开发平台—NB-IOT设置三、NB-IoT模组—APN设置四、NB业务分类五、总结5.1监控上报类5.2下发控制类一、前言如前文所述NB-IoT低功耗——PSM/eDRX/DRX模式,NB-IoT低功耗模式分为三种。分别需要在中国电信物联网开发平台和设备的NB模组上进行设......