Um ouvinte para todos os pacotes vs ouvintes separados para lidar com tipos específicos

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

  •  09-09-2019
  •  | 
  •  

Pergunta

implementos XMPPConnection Smack uma maneira orientada a eventos de receber respostas XMPP de um servidor Jabber. O método addPacketListener (org.jivesoftware.smack.PacketListener, org.jivesoftware.smack.filter.PacketFilter) permite que você especifique seu próprio ouvinte personalizado. Estou mantendo código em que um PacketListener lida com todos os tipos de mensagens recebidas. No interesse de melhorar o design, (com um aceno para o Individual de Responsabilidade Princípio ), I planeja criar ouvintes separados que tipos alça específicas de pacotes. Isso é uma boa ideia ? Outra questão é que os mensagens pacote pode vir de muitos sistemas de mensagens instantâneas, por exemplo Yahoo, Google etc ...? Faço para criar um processador separado para cada Yahoo, o Google serviços?

Foi útil?

Solução

Eu decidi usar a opção de múltiplas PacketListeners. A única PacketListener estaria fazendo muito trabalho, com todas as if-else-declarações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top