MVC 架构模式 学习笔记(一)

MVC 架构模式

视频:MVC简介
学习:MVC理论基础 —— 詹子知

简介

介绍

MVC 全名 Model View Controller,模型 - 视图 - 控制器的缩写,一种软件设计典范,用一种业务逻辑数据显示分离的方法组织代码,将业务逻辑被聚集到一个部件里面,在界面和用户围绕数据的交互能被改进和个性化定制的同时而不需要重新编写业务逻辑。

优势

  1. 各司其职,互不干扰

  2. 有利于开发中的分工

    有利于分工

  3. 有利于代码的重用

    有利于代码重用

定义

  • 视图:我们能直观的看到的web界面
  • 控制器:向系统发出指令的工具和帮手
  • 模型:模型的工作是按要求从数据库取出数据。(非全面)

工作流程

  1. 浏览者 -> 调用控制器,对他发出指令
  2. 控制器 -> 按指令选取一个合适的模型
  3. 模型 -> 按控制器指令取相应的数据
  4. 控制器 -> 按指令选取响应视图
  5. 视图 -> 显示(格式化)第三步的数据

管理和控制序列图

DispatcherServlet管理和控制序列图

核心组件定义

参考: MVC架构探究及其源码实现(2)-核心组件定义 —— 詹子知

  1. DispatcherServlet:前端控制器,也是整个架构的核心,负责处理和分发请求。

    Object getHandler();
    HandlerAdapter getHandlerAdapter();
    
    void render();
  2. HandlerMapping:处理器映射,他主要包含的是控制器的列表,对于特定的请求,根据HandlerMapping的映射关系,可以找到特定的控制器。最简单的便是url到控制器的映射。

    Object getHandler(HttpServletRequest request) throws Exception;  
  3. HandlerAdapter:对于不同类型的控制器,该类负责把Handler请求处理的结果统一转换成ModelAndView。

    boolean supports(Object handler);     
    ModelAndView handle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception;  
    long getLastModified(HttpServletRequest request, Object handler); 
  4. ModelAndView:包含数据和视图的信息,一般包含视图名,和这个视图需要用的数据,这里的Model大家不要误会为模型的概念,它只不过同时包含视图信息及这个视图需要显示的相关信息而已。

    private Object view;      
    private Map<String, Object> model;  
    private boolean cleared;  
  5. ViewResolver:它View名称解析成View对象。

    View resolveViewName(String viewName) throws Exception;  
  6. View:定义response显示的详细内容。

    String getContentType(); 
    void render(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception;

下文简述工作流程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值