[英]How to implement Java Strategy pattern?
我有一个事件接口,对于每个实现的事件 class,我都有一个处理程序。 我正在解析一些字符串并返回事件。 我如何确定应使用 Spring 调用哪个处理程序。不使用 if 语句的主要目标是使其多态。 你有一些例子吗?
策略模式由以下组件组成:
因此,如果 Strategy 确实是您需要或想要的模式:
public interface Event {
Event handle(String value);
}
public class Event1 implements Event {
Event1 handle(String value) {
//do whatever
}
}
public class Event2 implements Event {
Event2 handle(String value) {
//do whatever
}
}
//etc...
public class StrategyClient {
private Event event;
private String value;
public StrategyClient(Event event){
this.event=event;
}
public Event handle(){
event.handle(value);
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
因此,您只需使用Event1
或Event2
的实例或任何实现Event
的类来初始化StrategyClient
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.