【Spring MVC 源码学习三】SpringMVC中的策略模式

本文探讨了策略模式在SpringMVC中的应用,详细解释了如何通过策略模式实现算法的灵活选择。SpringMVC的DispatcherServlet依赖于各种策略接口的实现,如处理器映射、处理器适配器和视图解析器,体现了策略模式的优势。文章通过源码分析展示了策略模式的具体实现,并以图形方式总结了SpringMVC中的策略模式结构。
摘要由CSDN通过智能技术生成

策略模式

策略模式是一种为了适应算法灵活性而产生的行为型设计模式。策略模式的主要目的是将算法的定义与使用分开,也就是将算法的行为和环境分开,将算法的定义放在专门的策略类中,每一个策略类封装了一种实现算法,使用算法的环境类针对抽象策略类进行编程,符合“依赖倒转原则”。

在这里插入图片描述

  • Context(环境类):环境类是使用算法的角色,它在解决某个问题(即实现某个方法)时可以采用多种策略
  • Strategy(抽象策略类): 它为所支持的算法声明了抽象方法,是所有策略类的父类,它可以是抽象类或具体类,也可以是接口。环境类通过抽象策略类中声明的方法在运行时调用具体策略类中实现的算法。
  • ConcreteStrategy(具体策略类):抽象策略类的一个具体实现,封装了某种具体的算法

源码解析

前端控制器DispacherServlet处理请求需要依赖很多组件类,如处理器映射HandlerMapping,处理器适配器HandlerAdapter,视图解析器ViewResolver等,每种组件都有多种具体的实现,而DispcherServlet中只依赖组件的抽象接口。
在这里插入图片描述
DispcherServ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值