需求:物联网项目中,正在实行自动化需求,大概就是满足一些条件就触发一些响应。其中触发条件是多种多样的,响应输出也是多种多样的,自然而然我就想到了策略模式,而且也方便后续种类增加时的横向扩展。
策略模式代码如下
//触发条件执行封装
/**
* @author zhangs
* @Description 自动化触发条件执行封装
* @createDate 2019/3/22
*/
public class AutoTriggerExecContext {
private IAutoTriggerExecStrategy iAutoTriggerExecStrategy;
public AutoTriggerExecContext(IAutoTriggerExecStrategy iAutoTriggerExecStrategy) {
this.iAutoTriggerExecStrategy = iAutoTriggerExecStrategy;
}
public Integer triggerAutomatic(TriggerAutomaticMO triggerAutomatic) {
return iAutoTriggerExecStrategy.triggerAutomatic(triggerAutomatic);
}
}
//接口
/**
* @author zhangs
* @Description 自动化触发执行服务(主要用于判断条件是否被触发)
* @createDate 2019/3/12
*/
public interface IAutoTriggerExecStrategy {
/**
* 触发执行
* @param triggerAutomatic
* @return
* @author zhangs
* @create