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