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();
相关推荐
雨奔1 小时前
Kubernetes DNS 完全指南:服务发现核心机制与实践
java·kubernetes·服务发现
逻辑驱动的ken2 小时前
Java高频面试考点场景题14
java·开发语言·深度学习·面试·职场和发展·求职招聘·春招
阿冰冰呀2 小时前
互联网大厂Java求职面试实录:谢飞机的“水货”之路
java·mybatis·dubbo·springboot·线程池·多线程·hashmap
水无痕simon2 小时前
1.单机部署Nacos1.3.2
java
geovindu3 小时前
go: Chain of Responsibility Pattern
开发语言·设计模式·golang·责任链模式
Java小生不才4 小时前
spring AI文生图
java·人工智能·spring ai
苍煜4 小时前
ThreadPoolExecutor线程池终极全解:同步异步判定+SpringBoot生产实战
java·开发语言·spring boot
c++之路4 小时前
C++ 动态内存
java·jvm·c++
2301_800976939 小时前
数据库的基本操作后续
java·数据库·sql
SECS/GEM9 小时前
SECS/GEM如何实现越南现场自定义消息
java·服务器·数据库