У меня есть следующая (может быть, общая) проблема, и это абсолютно озадачивает меня в данный момент:
Существует несколько генерируемых объектов событий, которые расширяют абстрактный класс Event
, и я хочу разделить их на Session Beans, например
public void divideEvent(Event event) {
if (event instanceof DocumentEvent) {
documentGenerator.gerenateDocument(event);
} else if (event instanceof MailEvent) {
deliveryManager.deliverMail(event);
...
}
...
}
Но в будущем может быть больше двух типов событий, поэтому if-else будет длинным и, возможно, нечитаемым. Кроме того, я думаю, что instanceof
в данном случае не является "лучшей практикой".
Я мог бы добавить абстрактный метод к типу Event
и разделить его, но затем мне нужно ввести определенный сеанс Beans внутри каждого объекта.
Есть ли намек на достижение "довольно" решения этой проблемы?
Спасибо за любую помощь!