Один прослушиватель для всех пакетов против отдельных прослушивателей для обработки определенных типов

StackOverflow https://stackoverflow.com/questions/736802

  •  09-09-2019
  •  | 
  •  

Вопрос

XMPPConnection от Smack реализует управляемый событиями способ получения ответов XMPP от сервера jabber.Метод addPacketListener Добавить список пакетов (org.jivesoftware.smack.PacketListener, org.jivesoftware.smack.filter.PacketFilter) позволяет указать свой собственный пользовательский прослушиватель.Я поддерживаю код, в котором один PacketListener обрабатывает все типы входящих сообщений.В интересах улучшения дизайна, (с кивком в сторону Принцип единой ответственности), я планирую создать отдельные прослушиватели, которые обрабатывают определенные типы пакетов.Это хорошая идея ?Другая проблема заключается в том, что Сообщения пакет может поступать из многих систем обмена мгновенными сообщениями, напримерyahoo, Google и т.д...?Должен ли я создавать отдельные процессоры для каждого сервиса Yahoo, Google?

Это было полезно?

Решение

Я решил использовать опцию multiple PacketListeners.Один PacketListener выполнял бы слишком много работы со всеми операторами if-else.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top