我需要處理兩種不同類型的事件,但我遇到了以下問題:實現多個通用接口
接口的EventListener無法實施多次使用不同的參數:EventListener<PriceUpdate>
和EventListener<OrderEvent>
。
對此有一個優雅的解決方案?
public interface EventListener <E> {
public void handle(E event);
}
public interface PriceUpdateEventListener extends EventListener<PriceUpdate> {
}
public interface OrderEventListener extends EventListener<OrderEvent> {
}
public class CompositeListener implements OrderEventListener,PriceUpdateEventListener {
....
}
通過提供泛型方法addEventListener(),可以使其在運行時更具動態性。但我認爲你的解決方案已經很優雅了。 – JMelnik
你的解決方案看起來很好,但是有一個類處理那些2(相當)不相關的事件是否有意義? – assylias
@JMelnki,assylias:如果解決方案甚至沒有編譯,該如何解決問題? – Thilo