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

1、策略接口

java 复制代码
/**
 * 策略接口
 */
public interface DemoStrategy {
    Result execute();
}

2、策略工厂

java 复制代码
/**
 * 策略工厂
 */
@Component
public class DemoFactory {
    @Resource
    private final Map<String, DemoStrategy> demoStrategy= new ConcurrentHashMap<>();

    public DemoStrategy doStrategy(String data){
        return this.demoStrategy.get(data);
    }
}

3、策略实现类

java 复制代码
/**
 * 策略实现类
 */
@Component("dataName")
public class DataNameImpl implements DemoStrategy {
    
    @Override
    public Result execute() {
        //do something
        return null;
    }
}

4、调用Demo

java 复制代码
// class 

@Resource
private DemoFactory demoFactory ;

//method 

String dataName= "dataName";
                
return demoFactory.doStrategy(dataName).execute();
相关推荐
java1234_小锋11 小时前
说一下Spring的事务传播行为?
java·数据库·spring
庞轩px11 小时前
第四篇:SpringBoot自动配置——约定大于配置的底层原理
java·spring boot·后端·spring·自动配置·注解开发
不知名的忻11 小时前
Dijkstra算法(朴素版&堆优化版)
java·数据结构·算法··dijkstra算法
苏三说技术11 小时前
美团二面:高并发下如何保证接口幂等性?
java·数据库
yaoxin52112312 小时前
402. Java 文件操作基础 - 读取二进制文件
java·开发语言·python
沐浴露z12 小时前
面试官:静态变量与非静态成员变量的区别?别再死记硬背了!
java·jvm
极创信息12 小时前
信创软件快速适配信创改造,实战落地思路
java·大数据·数据库·人工智能·mvc·软件工程·hibernate
摇滚侠12 小时前
Java 项目教程《尚庭公寓》标签管理、自定义 converter 14 - 18
java·elasticsearch·架构
程序员清风12 小时前
科普一下:大模型Token的收费逻辑!
java·后端·面试
Nyarlathotep011312 小时前
并发集合类(4):ArrayBlockingQueue
java·后端