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

策略模式-枚举实现

策略模式的实现方法有很多,可以通过策略类if,else实现。下面是用枚举类实现策略模式的方法。

定义一个枚举类,枚举类有抽象方法,每个枚举都实现抽象方法。这个策略,实现方法是工具类的很实现,代码简单好理解

枚举实现策略

public enum TestUtilEnum {AA("aa") {@Overridepublic String execute(Query query) {return AaUtils.test(query);}},BB("bb") {@Overridepublic String execute(Query query) {return BbUtils.test(query);}};private final String name;/*** 构造函数*/TestUtilEnum(String name) {this.name =name;}public String getName() {return name;}public abstract String execute(Query query);public static TestUtilEnum fromName(String name) {for (TestUtilEnum handler : values()) {if (handler.getName().equals(name)) {return handler;}}throw new IllegalArgumentException("Invalid name: " + name);}}

测试调用

   public static void main(String[] args) {
        TestUtilEnum utilEnum = TestUtilEnum.fromName("aa");
        Query query = new Query ()
        utilEnum.execute(query);
    }

相关文章:

  • 【蓝桥杯嵌入式】【模块】四、按键相关配置及代码模板
  • (6)python开发经验
  • CSRF攻击 + 观测iframe加载时间利用时间响应差异侧信道攻击 -- reelfreaks DefCamp 2024
  • MySQL数据类型之VARCHAR和CHAR使用详解
  • 湖北理元理律师事务所:债务优化如何实现“减负不降质”?
  • fscanf 读取问题指南
  • 【递归、搜索和回溯】穷举vs暴搜vs深搜vs回溯vs剪枝
  • (独家)SAP CO模块中 销售发票对应的Cost Document中的PSG对象是什么东东??
  • 网站漏洞存在哪些危害,该如何做好预防?
  • SQL练习——day01
  • 告别碎片化!MCP 带来 AI Agent 开发生态的革命性突破
  • Makefile 详解
  • 电商热销榜的5种实现方案
  • 平替BioLegend品牌-Elabscience PE/Cyanine5.5标记CD11b抗体,高性价比解决方案!
  • MySQL 8.0 OCP 1Z0-908 题目解析(4)
  • 2025 OceanBase 开发者大会全议程指南
  • Console Importer浏览器插件的编译 及 制作成.crx浏览器插件的步骤
  • Trae - 国人Cursor的免费平替产品
  • Unity基础学习(十五)核心系统——音效系统
  • Scratch作品 | 3D原野漫游
  • 美联储主席:供应冲击或更频繁,将重新评估货币政策方法中的通胀和就业因素
  • 巴基斯坦与印度停火延长至18日
  • 92岁上海交大退休教师捐赠百万元给学校,其父也曾设奖学金
  • 美叙领导人25年来首次会面探索关系正常化,特朗普下令解除对叙经济制裁
  • 经济日报评外卖平台被约谈:行业竞争不能背离服务本质
  • 7月纽约举办“上海日”,上海大剧院舞剧《白蛇》连演三场