Un ascoltatore per tutti i pacchetti vs ascoltatori separato per gestire tipi specifici

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

  •  09-09-2019
  •  | 
  •  

Domanda

XMPPConnection di Smack implementa maniera event-driven di ricevere risposte XMPP da un server Jabber. Il metodo addPacketListener (org.jivesoftware.smack.PacketListener, org.jivesoftware.smack.filter.PacketFilter) consente di specificare il proprio ascoltatore personalizzato. Sto mantenendo il codice in cui si PacketListener gestisce tutti i tipi di messaggi in arrivo. Nell'interesse di migliorare la progettazione, (con un cenno al Responsabilità unico principio ), I piano per creare listener separati che gestiscono specifici tipi di pacchetti. E 'questa una buona idea ? Un altro problema è che le messaggi dei pacchetti possono provenire da molti sistemi di messaggistica istantanea per esempio Yahoo, Google, ecc ...? Faccio a creare un processori separati per ciascun Yahoo, i servizi di Google?

È stato utile?

Soluzione

Ho deciso di utilizzare l'opzione più PacketListeners. Una singola PacketListener avrebbe fatto troppo lavoro, con tutte le if-else-dichiarazioni.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top