MVC开发规则
1.介绍
MVC开发规则制定了互联网通信开发过程中
- 必须出现的角色有哪些
- 必须出现的角色要担任哪些职责
- 必须出现的角色的出场顺序
2.角色
DAO对象:
- Dao对象提供某张表文件的操作细节,降低对表文件的操作难度
- 避免反复开发表文件操作的代码,提高代码复用性
Service对象:
- 服务对象,提供【业务】的具体解决方案
- Service对象中,一个方法只指定一个业务的解决方案,避免业务开发重复性行为,提高复用性。
- 网站中每一个业务都有一个独立标准的解决方案。
3.业务
3.1什么是业务
通过浏览器向Http服务器发送请求。这就是业务
3.2业务实例
用户张三发送请求:要求服务端将张三账户中的10000元转给李四的账户
业务处理方案:
- 判断"张三"是否是当前系统中的用户
- 判断"李四"是否是当前系统中的用户
- 读取"张三的账户余额",判断是否满足转账条件
- 读取"李四的账户余额",备账。【转账前账户的余额,转账后账户的余额】
- 更新"张三账户余额-10000"
- 更新"李四账户余额+10000"
3.3业务特征
- 真实业务场景中,一个业务往往包含多个分支任务。
- 像上面的转账业务就有6个分支。因此解决业务员开发工作量往往比较巨大。
- 真实业务场景中,只有所有分支任务都能顺利成功解决,才可以认为当前业务处理成功了。
4.解决业务开发困扰
- 一个业务可能在网站的多个地方重复出现。如果不做【封装】,那么会增加开发难度,造成业务解决代码的重复性出现。
- 一千个人眼中有一千个哈姆雷特,不同程序员面对同一个业务时,给出的解决方案往往会有偏差,导致最终解决数据会有偏差。这种偏差往往会导致巨大的损失。
5.互联网通信开发过程中必须出现的角色
在一次互联网开发过程中,必须出现的角色有三个:
- C:controller object:控制层对象(servlet对象)
- M:model object:业务模型对象(service对象)
- V:view object:视图层对象(JSP 或 HttpServletResponse)
6.互联网通信开发过程中必须出现的角色担任的职责
C(servlet对象):
- 【可以】调用【请求对象】读取【请求包】中的请求参数信息
- 【必须】调用【Service对象】处理业务
- 【必须】调用【视图层对象】将结果写入到响应体
M(service对象):
- 处理业务中所有的分支任务
- 根据分支任务执行情况判断业务是否处理成功
- 必须通过return将处理结果返回【控制层对象】
V(jsp/HttpServletResponse)
- 禁止参与业务处理
- 唯一任务就是将处理结果写入到响应体中。
7.互联网通信开发过程中必须出现角色的出场顺序
请求调用顺序
发送请求 |------>UserDao
浏览器------------>Servlet------------>Service|
|------>QuestionDao
响应顺序
UserDao---分支任务结果--->| Tomcat
|Service----->Servlet--->View---->响应体-------->浏览器
QuestionDao-分支任务结果->|
|