У меня есть следующая (возможно, общая) проблема, и она меня совершенно озадачивает на данный момент:
Есть пара сгенерированных объектов событий, которые расширяют абстрактный класс Событие
и я хочу разделить их на 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
и заставить их разделиться, но тогда я должен внедрить определенные Сессионные Бины в каждую сущность.
Есть ли какой-нибудь намек для достижения "красивого" "решение этой проблемы?
Спасибо за любую помощь!