IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> MVC开发规则 -> 正文阅读

[开发测试]MVC开发规则

MVC开发规则

1.介绍

MVC开发规则制定了互联网通信开发过程中

  1. 必须出现的角色有哪些
  2. 必须出现的角色要担任哪些职责
  3. 必须出现的角色的出场顺序

2.角色

DAO对象:

  1. Dao对象提供某张表文件的操作细节,降低对表文件的操作难度
  2. 避免反复开发表文件操作的代码,提高代码复用性

Service对象:

  1. 服务对象,提供【业务】的具体解决方案
  2. Service对象中,一个方法只指定一个业务的解决方案,避免业务开发重复性行为,提高复用性。
  3. 网站中每一个业务都有一个独立标准的解决方案。

3.业务

3.1什么是业务

通过浏览器向Http服务器发送请求。这就是业务

3.2业务实例

用户张三发送请求:要求服务端将张三账户中的10000元转给李四的账户

业务处理方案:

  1. 判断"张三"是否是当前系统中的用户
  2. 判断"李四"是否是当前系统中的用户
  3. 读取"张三的账户余额",判断是否满足转账条件
  4. 读取"李四的账户余额",备账。【转账前账户的余额,转账后账户的余额】
  5. 更新"张三账户余额-10000"
  6. 更新"李四账户余额+10000"

3.3业务特征

  1. 真实业务场景中,一个业务往往包含多个分支任务。
    1. 像上面的转账业务就有6个分支。因此解决业务员开发工作量往往比较巨大。
  2. 真实业务场景中,只有所有分支任务都能顺利成功解决,才可以认为当前业务处理成功了。

4.解决业务开发困扰

  1. 一个业务可能在网站的多个地方重复出现。如果不做【封装】,那么会增加开发难度,造成业务解决代码的重复性出现。
  2. 一千个人眼中有一千个哈姆雷特,不同程序员面对同一个业务时,给出的解决方案往往会有偏差,导致最终解决数据会有偏差。这种偏差往往会导致巨大的损失。

5.互联网通信开发过程中必须出现的角色

在一次互联网开发过程中,必须出现的角色有三个:

  1. C:controller object:控制层对象(servlet对象)
  2. M:model object:业务模型对象(service对象)
  3. V:view object:视图层对象(JSP 或 HttpServletResponse)

6.互联网通信开发过程中必须出现的角色担任的职责

C(servlet对象):

  1. 【可以】调用【请求对象】读取【请求包】中的请求参数信息
  2. 【必须】调用【Service对象】处理业务
  3. 【必须】调用【视图层对象】将结果写入到响应体

M(service对象):

  1. 处理业务中所有的分支任务
  2. 根据分支任务执行情况判断业务是否处理成功
  3. 必须通过return将处理结果返回【控制层对象】

V(jsp/HttpServletResponse)

  1. 禁止参与业务处理
  2. 唯一任务就是将处理结果写入到响应体中。

7.互联网通信开发过程中必须出现角色的出场顺序

请求调用顺序

		发送请求							  |------>UserDao
浏览器------------>Servlet------------>Service|
            							  |------>QuestionDao

响应顺序

UserDao---分支任务结果--->|										Tomcat
    		  			|Service----->Servlet--->View---->响应体-------->浏览器
QuestionDao-分支任务结果->|

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-08-28 09:38:55  更:2021-08-28 09:40:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/14 4:18:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码