MVC三层架构(详解)「建议收藏」

MVC三层架构(详解)「建议收藏」1:初始MVC(1):三层架构三层架构是指:视图层View、服务层Service,与持久层Dao。它们分别完成不同的功能。View层:用于接收用户提交请求的代码在这里编写。Service层:系统的业务逻辑主要在这里完成。Dao层:直接操作数据库的代码在这里编写。为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准(接口)是相同的,服务提供者(实现类)可以更换。这就

大家好,又见面了,我是你们的朋友全栈君。

1:初始MVC

(1):三层架构

三层架构是指:视图层 View、服务层 Service,与持久层 Dao。它们分别完成不同的功能。
View 层:用于接收用户提交请求的代码在这里编写。
Service 层:系统的业务逻辑主要在这里完成。
Dao 层:直接操作数据库的代码在这里编写。
为了更好的降低各层间的耦合度,在三层架构程序设计中,采用面向抽象编程。
即上层对下层的调用,是通过接口实现的。
而下层对上层的真正服务提供者,是下层接口的实现类。
服务标准(接口)是相同的,服务提供者(实现类)可以更换。
这就实现了层间解耦合。
在这里插入图片描述

(2):MVC

在这里插入图片描述
MVC,即 Model 模型、View 视图,及 Controller 控制器。

View:视图,为用户提供使用界面,与用户直接进行交互。
Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类: 一类称为数据承载 Bean:实体类,专门用户承载业务数据的,如 Student、User 等 一类称为业务处理 Bean:指 Service 或 Dao 对象,专门用于处理用户提交请求的。
Controller:控制器,用于将用户请求转发给相应的 Model 进行处理,并根据 Model 的计算结果向用户提供相应响应。
MVC 架构程序的工作流程:
(1)用户通过 View 页面向服务端提出请求,可以是表单请求、超链接请求、AJAX 请求等
(2)服务端 Controller 控制器接收到请求后对请求进行解析,找到相应的 Model 对用户请求进行处理
(3)Model 处理后,将处理结果再交给 Controller
(4)Controller 在接到处理结果后,根据处理结果找到要作为向客户端发回的响应 View 页面。页面经渲染(数据填充)后,再发送给客户端。
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153044.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 蚂蚁矿机linux系统文件,蚂蚁显卡矿机G2系统一键还原教程[通俗易懂]

    蚂蚁矿机linux系统文件,蚂蚁显卡矿机G2系统一键还原教程[通俗易懂]一、还原准备工作[ol]一台办公电脑(建议win7或以上系统,配置不限)一个可以格式化的U盘(最少8G,速度不限)下载UltraISO刻录软件《uiso9_cn.exe》至桌面下载《clonezilla-live-2117-11-29-03-img.iso》文件至桌面下载《checksum64.exe》至桌面双击打开checksum64.exe,把下载下来的ISO文件移动至软件中,点击选项-&gt…

    2022年9月28日
    3
  • java全局变量的定义和声明_定义全局变量的方法

    java全局变量的定义和声明_定义全局变量的方法JAVA全局变量(或称成员变量)可分两种,一种是静态变量,另一种是实例变量,即在类体中定义的变量,有三点得注意:一、成员变量不能在类体中先声明(定义)后赋值,但静态变量可以先在类体中声明,然后在方法中赋值(当然实例变量是不行的);1)如以下程序会出问题:publicclassTest{staticinta;//在类体中声明整型静态变量a。intb;

    2022年8月21日
    10
  • android 屏幕触摸事件及处理机制解读

    android 屏幕触摸事件及处理机制解读原创性声明:Android最让我开心和有成就感的就是可以实现自定义,追根朔源是开源带来的,出于普适性,google不会提供定制性特别强的视图组件,但是我们可以自己动手,丰衣足食。但是,往往自定义的时候会出现好多问题,说到底是还没有吃透,我不推荐学生时期自学的时候过分追究原理,那个时期并不合适做这件事,那种闭关到世界第一再出关的苦学我也是不认可的。学习就是要循序渐进,慢慢吃透,扩展出

    2025年10月24日
    2
  • 秒懂约瑟夫环

    秒懂约瑟夫环转自:https://blog.csdn.net/byn12345/article/details/79487253约瑟夫生者死者游戏约瑟夫游戏的大意:30个游客同乘一条船,因为严重超载,加上风浪大作,危险万分。因此船长告诉乘客,只有将全船一半的旅客投入海中,其余人才能幸免于难。无奈,大家只得同意这种办法,并议定30个人围成一圈,由第一个人数起,依次报数,数到第9人,便把他投入大海…

    2022年6月4日
    31
  • ES6 Promise用法小结

    ES6 Promise用法小结目录1.什么是Promisereject的用法catch的用法all的用法race的用法1.什么是PromisePromise是异步编程的一种解决方案,其实是一个构造函数,自己身上有all、reject、resolve这几个方法,原型上有then、catch等方法。Promise对象有以下两个特点。(1)对象的状态不受外界影响。Promise对象代表一个异步操…

    2022年6月12日
    33
  • 安卓7.0以上安装fiddler证书(模拟器)

    安卓7.0以上安装fiddler证书(模拟器)1.fiddler,最好fiddler4以上fiddler官网下载即可DownloadFiddlerWebDebuggingToolforFreebyTelerikhttps://www.telerik.com/download/fiddler2.夜神模拟器(百度下载)3.安装jdk(jdk8能够更好的支持自动化工具)JavaDownloads|Oraclehttps://www.oracle.com/java/technologies/downloads/#j

    2022年7月7日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号