说明:
策略模式(Strategy Pattern)属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。其主要目的是通过定义相似的算法,替换if-else 语句写法,并且可以随时相互替换。使代码看起来更加的整洁,接下来我们就来讲一下具体实现方式。
第一步、首先需要写一个策略接口
/**
* 策略模式接口
* @author wfeil211@foxmail.com
*/
public interface IStrategyPatternService {
/**
* 具体实现
*/
void handle(String message);
}
第二步、编写实现类
/**
* 策略模式实现类
* @author wfeil211@foxmail.com
*/
@Slf4j
@Component("strategyPattern")
public class StrategyPatternServiceImpl implements IStrategyPatternService {
/**
* 具体实现
*/
@Override
public void handle(String message) {
// 业务实现
}
}
第三步、使用注入方式调用
@Autowired
private Map<String, IStrategyPatternService> cacheMap;
cacheMap.get("strategyPattern").handle("测试");
**具体重点在于@Component注解,spring会自动将注解值加载到map-key中,使用时只需要获取调用即可~
完~