的Smack的XMPPConnection实现从一个Jabber服务器接收XMPP响应的事件驱动的方式。该方法 addPacketListener (org.jivesoftware.smack.PacketListener,org.jivesoftware.smack.filter.PacketFilter)允许您指定自己的定制监听器。我维护的代码,其中一个PacketListener处理所有类型的传入消息。在改进设计,(用点头单一职责原则)的利益,我创建一个能够处理特定类型的数据包的单独的侦听器。这是一个好主意吗 ?另一个问题是,在消息分组可能来自许多IM系统例如雅虎,谷歌等...?难道我创建一个单独的处理器,每个雅虎,谷歌的服务?

有帮助吗?

解决方案

我已经决定要使用多PacketListeners选项。 单PacketListener会做太多的工作,与所有的if-else语句。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top