最近,我跑过实现来处理事件使用此模式的硬编码映射几个对象:有没有更好的方法来处理事件的一系列if?
public void handleEvent(Event event)
{
if(event.getCode() == SOME_STATIC_EVENT)
doSomething(event);
if(event.getCode() == ANOTHER_STATIC_EVENT)
doSomethingElse(event);
}
其中DoSomething的实现是同一个类的方法。
为了争取更松散的耦合,你会如何建议抽象出这种模式?另外,将0..N函数映射到触发事件的最佳方法是什么?