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

Java设计模式之策略模式实践

1、策略接口

/*** 策略接口*/
public interface DemoStrategy {Result execute();
}

2、策略工厂

/*** 策略工厂*/
@Component
public class DemoFactory {@Resourceprivate final Map<String, DemoStrategy> demoStrategy= new ConcurrentHashMap<>();public DemoStrategy doStrategy(String data){return this.demoStrategy.get(data);}
}

3、策略实现类

/*** 策略实现类*/
@Component("dataName")
public class DataNameImpl implements DemoStrategy {@Overridepublic Result execute() {//do somethingreturn null;}
}

4、调用Demo

// class @Resource
private DemoFactory demoFactory ;//method String dataName= "dataName";return demoFactory.doStrategy(dataName).execute();

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • MATLAB R2023b配置Fortran编译器
  • java基础进阶——log日志、类加载器、XML、单元测试、注解、枚举类
  • 使用openlayers给地图添加内发光、外发光、内外阴影、三维立体效果
  • 可乐机的设计验证
  • 125. 验证回文串【 力扣(LeetCode) 】
  • 设计模式 - 状态模式
  • 详解使用Goalng+Redis实现分布式锁
  • haralyzer 半自动,一次性少量数据采集快捷方法
  • C++系列-继承中的对象模型
  • Spring Boot 使用 MongoDB 教程
  • SpringBoot日志整合
  • 大数据-70 Kafka 高级特性 物理存储 日志存储 日志清理: 日志删除与日志压缩
  • 第五天:java网络编程、JDBC与高级特性概览
  • 推荐一个根据后台提供的接口json文件自动生成前端调用接口的插件typescript
  • Mysql基础篇
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • input的行数自动增减
  • JavaScript学习总结——原型
  • JS正则表达式精简教程(JavaScript RegExp 对象)
  • leetcode讲解--894. All Possible Full Binary Trees
  • React-Native - 收藏集 - 掘金
  • TiDB 源码阅读系列文章(十)Chunk 和执行框架简介
  • Web设计流程优化:网页效果图设计新思路
  • 阿里中间件开源组件:Sentinel 0.2.0正式发布
  • 从地狱到天堂,Node 回调向 async/await 转变
  • 从输入URL到页面加载发生了什么
  • 构造函数(constructor)与原型链(prototype)关系
  • 如何选择开源的机器学习框架?
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 一些关于Rust在2019年的思考
  • 优秀架构师必须掌握的架构思维
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • 阿里云ACE认证之理解CDN技术
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • (22)C#传智:复习,多态虚方法抽象类接口,静态类,String与StringBuilder,集合泛型List与Dictionary,文件类,结构与类的区别
  • (el-Date-Picker)操作(不使用 ts):Element-plus 中 DatePicker 组件的使用及输出想要日期格式需求的解决过程
  • (k8s中)docker netty OOM问题记录
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (三)c52学习之旅-点亮LED灯
  • (算法)Game
  • (算法设计与分析)第一章算法概述-习题
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)【Hibernate总结系列】使用举例
  • (转)GCC在C语言中内嵌汇编 asm __volatile__
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • *算法训练(leetcode)第三十九天 | 115. 不同的子序列、583. 两个字符串的删除操作、72. 编辑距离
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .md即markdown文件的基本常用编写语法
  • .NET 5.0正式发布,有什么功能特性(翻译)
  • .Net 8.0 新的变化
  • .NET Core中如何集成RabbitMQ
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net php 通信,flash与asp/php/asp.net通信的方法