策略模式以及优化

server/2024/12/29 4:47:19/

使用场景

在一个条件语句中又包含了多个条件语句

具体策略类会过多

把抽象策略和具体策略放在一个枚举类里。

方法 exe() 相当于抽象策略,而A和B就相当于实现了抽象策略的具体策略
这样就只需要一个枚举类就可以解决具体策略类过多的问题

java">public enum Strategy {A{@Overridepublic void exe() {System.out.println("执行具体策略A");}},B{@Overridepublic  void exe() {System.out.println("执行具体策略B");}};public abstract void exe();}

彻底消除if else

Map<条件,具体策略>

完整代码

java">public enum Strategy {A{@Overridepublic void exe() {System.out.println("执行具体策略A");}},B{@Overridepublic  void exe() {System.out.println("执行具体策略B");}};public abstract void exe();}
java">public class Test {public static void main(String[] args) {Map<String, Strategy> map=new LinkedHashMap<>();map.put("A",Strategy.A);map.put("B",Strategy.B);String str="A";map.get(str).exe();}}


http://www.ppmy.cn/server/154102.html

相关文章

如何用AI帮你写回忆录

随着我们国家人口已经开始老龄化&#xff0c; “银发经济” 这个词也越来越火。 简单来讲&#xff0c;随着社会老龄化加剧&#xff0c;老年人口不断增多&#xff0c;他们的需求和消费能力就形成了一个庞大的市场。代写回忆录就属于这个市场的一部分。 有些爷爷奶奶、爸爸妈妈想…

SpringCloudAlibaba实战入门之路由网关Gateway初体验(十一)

Spring Cloud 原先整合 Zuul 作为网关组件,Zuul 由 Netflix 公司提供的,现在已经不维护了。后面 Netflix 公司又出来了一个 Zuul2.0 网关,但由于一直没有发布稳定版本,所以 Spring Cloud 等不及了就自己推出一个网关,已经不打算整合 zuul2.0 了。 一、什么是网关 1、顾明…

云边端一体化架构

云边端一体化架构是一种将云计算、边缘计算和终端设备相结合的分布式计算模型。该架构旨在通过优化资源分配和数据处理流程&#xff0c;提供更高效、更低延迟的服务体验。 下面是对这个架构的简要说明&#xff1a; 01云计算&#xff08;Cloud Computing&#xff09; — 作为中心…

Docker Container 可观测性最佳实践

Docker Container 介绍 Docker Container&#xff08; Docker 容器&#xff09;是一种轻量级、可移植的、自给自足的软件运行环境&#xff0c;它在 Docker 引擎的宿主机上运行。容器在许多方面类似于虚拟机&#xff0c;但它们更轻量&#xff0c;因为它们不需要模拟整个操作系统…

【数据结构】数据结构整体大纲

数据结构用来干什么的&#xff1f;很简单&#xff0c;存数据用的。 &#xff08;这篇文章仅介绍数据结构的大纲&#xff0c;详细讲解放在后面的每一个章节中&#xff0c;逐个击破&#xff09; 那为什么不直接使用数组、集合来存储呢 ——> 如果有成千上亿条数据呢&#xff…

华为 AI Agent:企业内部管理的智能变革引擎(11/30)

一、华为 AI Agent 引领企业管理新潮流 在当今数字化飞速发展的时代&#xff0c;企业内部管理的高效性与智能化成为了决定企业竞争力的关键因素。华为&#xff0c;作为全球领先的科技巨头&#xff0c;其 AI Agent 技术在企业内部管理中的应用正掀起一场全新的变革浪潮。 AI Ag…

二分查找 java

在一个有序的数组内查找目标值, 若找到返回索引,若找不到返回-1; 需求: 在数组arr( 采用升序排列,允许有重复值)中 ,查找目标值target 1: int i 0 设置初始索引 int jarr.length-1; 设置最终索引 2:设置i>j ,结束查找 3: 设置中间索引 int mfloor((ij)/2) 4: 如果 targ…

递归查询全量分页数据问题

项目需要全量同步对方的用户机构数据&#xff0c;对方限制了分页条件&#xff0c;就需要递归全量拖过来。下面是实例代码&#xff1a; // 最大条数 public abstract class BaseLoader<T> {private final static Integer PAGE_SIZE 1000;private Class<T> tClass;…