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();
相关推荐
祁梦18 分钟前
Redis从入门到入土 --- 黑马点评点赞功能实现详解
java·后端
唯一世19 分钟前
Open Feign最佳实践
java·spring cloud
小江的记录本20 分钟前
【MacOS】MacBook Pro 键盘全解析 + macOS 快捷键大全
java·经验分享·学习·macos·计算机外设·键盘·敏捷开发
淘源码d25 分钟前
基于Spring Boot + Vue的诊所管理系统(源码)全栈开发指南
java·vue.js·spring boot·后端·源码·门诊系统·诊所系统
李少兄26 分钟前
IntelliJ IDEA 中撤销 Commit
java·elasticsearch·intellij-idea
iPadiPhone28 分钟前
Java 反射机制底层原理、面试陷阱与实战指南
java·开发语言·后端·面试
iPadiPhone33 分钟前
Java SPI 机制全链路深度解析与面试通关指南
java·后端·面试
问道飞鱼35 分钟前
【大模型学习】LangChain 入门指南:基本概念、核心功能与简单示例
java·学习·langchain
blackorbird1 小时前
Palantir的战争AI:藏在美军Maven系统里的Claude大模型
java·大数据·人工智能·maven
左左右右左右摇晃1 小时前
Java String 类笔记
java