news 2026/7/22 3:30:22

Java常见技术分享-08-策略模式

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java常见技术分享-08-策略模式

什么是策略模式?

策略模式的 主要包含三个组件 抽象策略类, 环境类, 具体的策略类。
抽象策略类 我理解 其实就是要解决的问题, 具体的策略类 则是在不同的条件下 解决这个问题的处理逻辑, 而环境类 就是负责在不同条件下 调用不同的策略类。 一般来说 这个条件会用注解的方式 直接放在策略类上,那么 环境类实际上只需要扫描所有 有这个注解 的策略类, 那么 当 实际条件进来 , 根据注解的值,即条件, 直接就能知道 调用哪个策略类。
它核心逻辑 其实跟 if-else 很像, 都是根据不同条件选不同的处理方式, 但策略模式把 每个条件 对应的处理逻辑, 单独抽出来成了一个类。 这样做的好处是 当需要增加新的条件 以及处理方式的时候 不用改原有的代码块, 直接新增一个策略类就好了。 代码会更干净更好维护。 符合开闭原则, 对扩展开放, 对修改关闭。

策略模式在SpringBoot中底层实际用途有了解吗?

SpringBoot 底层 有一个抽象策略类 叫做HttpMessageConverter, 具体的策略类 有处理 JSON的 Jackson 转换器 如 MappingJackson2HttpMessageConverter或者 处理字符串的 StringHttpMessageConverter , 环境类 的职责 则被融入到了 策略类中的 canRead和canWrite 方法,比如 当一个请求进来 , 就会调用转换器的 canRead方法 看请求的 content-type是不是 这个转换器可以处理的, 例如是Json转换器的话, 就看content-type是不是application/json. ,如果是就返回true. 在响应的场景则是 看请求的Accept头 是否等于 application/json 或者 接口有没有指定的 produces= “application/json”, 如果是 , canWrite就会返回true. 这里遇到第一个返回为true的转换器, 就不会其他的转换器了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/20 14:48:04

公司网站wordpress主题推荐

视频背景wordpress官网主题红色风格的wordpress主题,首页视频背景,鼠标滚动翻转展示内容,适合公司官网使用。https://www.jianzhanpress.com/?p7288服务类公司wordpress企业主题红色大气的wordpress企业主题,适合服务行业的公司搭…

作者头像 李华
网站建设 2026/7/21 9:42:25

金融从业者福音:LobeChat搭建合规AI分析助手

金融从业者福音:LobeChat搭建合规AI分析助手 在智能投研、客户画像和风险建模日益成为金融机构核心竞争力的今天,生成式AI正以前所未有的速度重塑行业格局。然而,一个现实困境始终挥之不去:如何在享受大语言模型强大能力的同时&am…

作者头像 李华
网站建设 2026/7/21 12:23:20

LobeChat科技新闻深度解读

LobeChat:重塑大语言模型交互体验的开源框架 在今天,几乎每个科技公司都在尝试接入大语言模型(LLM),从客服机器人到内部知识助手,AI 正以前所未有的速度渗透进我们的工作流。但一个现实问题随之浮现&#x…

作者头像 李华
网站建设 2026/7/19 18:11:29

LinkedIn职业建议:LobeChat撰写个人简介

LinkedIn职业建议:LobeChat撰写个人简介 在求职竞争日益激烈的今天,一份出色的LinkedIn个人简介可能就是你与理想机会之间的最后一道桥梁。它不只是简历的电子版延伸,而是一个展示专业形象、传递职业价值的动态窗口。然而,很多人依…

作者头像 李华
网站建设 2026/7/20 16:20:33

9 个 MBA 论文降AI工具,AI 写作优化推荐

9 个 MBA 论文降AI工具,AI 写作优化推荐 论文写作的战场,你是否也在挣扎? MBA毕业论文不仅是对专业知识的总结,更是对个人研究能力和学术素养的全面检验。然而,对于许多MBA学生来说,这却是一场艰难的战役。…

作者头像 李华
网站建设 2026/7/21 22:55:51

10 个高效降AI率工具,自考党必备!

10 个高效降AI率工具,自考党必备! AI降重工具:自考党论文的“隐形护盾” 在当前学术写作环境中,随着AI技术的广泛应用,论文中出现AIGC痕迹的风险显著增加。对于自考学生而言,如何在保证内容质量的同时降低查…

作者头像 李华