أحد المستمع لجميع الحزم مقابل المستمعين منفصلين للتعامل مع أنواع محددة

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

  •  09-09-2019
  •  | 
  •  

سؤال

تنفذ Smack's XMPPCONNECTIONNECTENTECT بطريقة مدفوعة بالحدث لتلقي ردود XMPP من خادم Jabber. طريقة addpacketlistener. (org.jivesoftware.smack.packetlistener، org.jivesoftware.smack.filter.packetfilter) يسمح لك بتحديد المستمع المخصص الخاص بك. أنا الحفاظ على الرمز الذي يتعامل فيه حزمة PacketListener واحد من جميع أنواع الرسائل الواردة. في مصلحة تحسين التصميم، (مع إيماءة إلى مبدأ مسؤولية واحدة)، أخطط لإنشاء مستمعين منفصلين يتعاملون مع أنواع محددة من الحزم. هل هذه فكرة جيدة ؟ مشكلة أخرى هي أن رسائل يمكن أن تأتي الحزمة من العديد من أنظمة الدردشة على سبيل المثال Yahoo، Google، إلخ ...؟ هل أقوم بإنشاء معالجات منفصلة لكل Yahoo أو Google Services؟

هل كانت مفيدة؟

المحلول

لقد قررت استخدام خيار SwimeTeclisteners متعددة. سيكون لحزمة واحدة قائمة بذاتها الكثير من العمل، مع كل البيانات المثالية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top