当前位置: 首页 > news >正文

Java常见技术分享-07-适配器模式

你知道什么是适配器模式吗?

让 新定义的接口规范 在实现上 能 在不改动老代码的前提下复用老接口功能。
这样调用方只用考虑 新定义的接口规范, 开发者也不用改老代码 , 加个适配器 去实现 新定义的接口规范, 在内部 调用 老接口实例的方法就可以了。

你知道哪些具体的应用实例?

比较清楚的应用实例是 在 SpringBoot 里, SpringMVC 的dispatcherServlet会用到handlerAdapter 。来统一的处理各种类型的控制器。 常见的控制器类型 有 注解@controller或者是直接实现controller,后者基本上没啥人用因为只能处理一个请求路径。
举个实际的例子,一个请求进来, DispatcherServlet会先通过 HandlerMapping , 根据请求路径找到对应的控制器 方法。
然后 找到合适的handlerAdapter, 也就是RequestMappingHandlerAdapter ,接着会去调用 Adapter的handler方法执行 具体的方法。这个例子中 适配器类就是RequestMappingHandlerAdapter。它存在的意义就是为了让 调用方dispatcherServlet 调用目标接口规范 就是 HandlerAdapter接口定义的handler方法的时候, 在不改动 @Controller注解的类 的代码的前提下
使用 @Controller注解的类 的方法,


从技术上来说, 为了让谁能够正常的工作而作适配, 那么 这个谁 就是 被适配的对象 , 比如 手机耳机 加个适配器 才能插在电脑上用, 手机耳机就是被适配的对象

http://www.cnnetsun.cn/news/74787.html

相关文章:

  • 7、脚本编程中的代码片段与替代语法技巧
  • 15、使用 AWK 总结日志
  • ComfyUI插件生态盘点:提升效率的必备扩展推荐
  • 程序员爆哭!我们让 COCO AI 接管 GitLab 审查后,团队直接起飞:连 CTO 都说“这玩意儿比人靠谱多了
  • 交通信号仿真软件:Synchro_(14).Synchro与其他软件的集成
  • 交通信号仿真软件:Vistro_(1).Vistro软件介绍
  • 交通信号仿真软件:Vistro_(4).交通网络建模
  • 微软将影响在线服务的第三方漏洞纳入奖励计划
  • 42、Linux 图形界面与邮件服务器配置全解析
  • 47、Linux系统安全防护全解析
  • 48、Linux系统安全:PAM、文件权限与网络防护
  • Blender贝塞尔曲线终极指南:用Bezier Utilities插件快速掌握曲线编辑技巧
  • 3步轻松制作Windows 11精简版:让老旧电脑焕发新生
  • SCS 59.单细胞空间转录组空间度量(SPATA2)
  • 【毕业设计】基于springboot高校体育运动会比赛系统运动项目、运动论坛(源码+文档+远程调试,全bao定制等)
  • 干货收藏:AI大模型进化史,从ChatGPT到智能体的三次关键跃迁
  • Docker Compose编排LLama-Factory多节点训练集群详细配置示例
  • Wan2.2-T2V-A14B模型部署指南:从VSCode配置C/C++环境说起
  • 计算机Java毕设实战-基于springboot公寓管理系统基于Springboot的公寓报修管理系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 如何制作支持离线地图的GPS自行车码表:从硬件选型到功能实现的完整指南
  • 计算机Java毕设实战-基于springboot国风彩妆网站springboot国风彩妆化妆品网站电商销售商城系统【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • Honey Select 2 HF Patch技术架构深度解析与模块化部署指南
  • 【课程设计/毕业设计】基于springboot的自习室预订系统设计与实现基于springboot高校自习室预约系统的设计与实现【附源码、数据库、万字文档】
  • 大学计算机基础系列(合集)
  • 【课程设计/毕业设计】基于Web的高校大学生奖学金评定系统设计与实现基于springboot高校学生奖学金评定系统的设计与实现【附源码、数据库、万字文档】
  • 【爬虫框架-8】其他
  • Vue-next-admin终极指南:打造现代化后台管理系统的完整解决方案
  • vgmstream终极指南:游戏音频转换与播放全攻略
  • vgmstream音频解码神器:游戏音频格式转换终极指南
  • 印象大红袍通过上市聆讯:上半年营收5588万 利润678万