Java设计模式之策略模式实践
1、策略接口
/*** 策略接口*/
public interface DemoStrategy {Result execute();
}
2、策略工厂
/*** 策略工厂*/
@Component
public class DemoFactory {@Resourceprivate final Map<String, DemoStrategy> demoStrategy= new ConcurrentHashMap<>();public DemoStrategy doStrategy(String data){return this.demoStrategy.get(data);}
}
3、策略实现类
/*** 策略实现类*/
@Component("dataName")
public class DataNameImpl implements DemoStrategy {@Overridepublic Result execute() {//do somethingreturn null;}
}
4、调用Demo
// class @Resource
private DemoFactory demoFactory ;//method String dataName= "dataName";return demoFactory.doStrategy(dataName).execute();