【问题标题】:One listener for all packets vs separate listeners to handle specific types所有数据包的一个侦听器与处理特定类型的单独侦听器
【发布时间】:2009-04-10 05:38:38
【问题描述】:

Smack 的 XMPPConnection 实现了一种从 jabber 服务器接收 XMPP 响应的事件驱动方式。 addPacketListener (org.jivesoftware.smack.PacketListener, org.jivesoftware.smack.filter.PacketFilter) 方法允许您指定自己的自定义侦听器。我正在维护一个 PacketListener 处理所有类型的传入消息的代码。为了改进设计(向Single Responsibility Principle 致敬),我计划创建单独的侦听器来处理特定类型的数据包。这是一个好主意吗 ?另一个问题是 messages 数据包可能来自许多 IM 系统,例如雅虎、谷歌等...?我是否为每个雅虎、谷歌服务创建单独的处理器?

【问题讨论】:

    标签: java design-patterns xmpp


    【解决方案1】:

    我决定使用多个 PacketListeners 选项。 使用所有 if-else-statements 单个 PacketListener 会做太多工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-31
      • 2021-03-18
      • 2012-11-09
      • 1970-01-01
      相关资源
      最近更新 更多