Использование отдельных слушателей означает, что вам не нужно выполнять логические тесты, чтобы определить, что следует делать в вашем слушателе. Это имеет два преимущества
Сначала это заставляет код работать немного быстрее.
Во-вторых, это повышает удобство сопровождения и расширяемость вашего кода. Если вам нужно добавить новый компонент, вам не нужно изменять существующие методы.
Если вы попытаетесь, чтобы один прослушиватель (часто сам апплет или объект приложения) выступал в качестве прослушивателя для нескольких компонентов, тогда вы отменяете базовую диспетчеризацию, которая является центральной для вызывающих методов, и выполняете диспетчеризацию вручную. Это требует использования какого-либо механизма переключения для различения различных компонентов, чьи события вы обрабатываете. Система лучше оснащена для этого, чем вы. Эта структура переключателей подвержена ошибкам и сложна в обслуживании по мере роста программы. Оставьте диспетчеризацию в системе.
Источник: Шаблоны для событий Java