كيف أكتب معالجة قائمة انتظار الرسائل بطريقة موجهة للكائنات؟

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

  •  19-08-2019
  •  | 
  •  

سؤال

إذا كان عليك كتابة تعليمات برمجية تأخذ الرسائل من قائمة انتظار الرسائل وتقوم بتحديث جدول في قاعدة البيانات، فكيف يمكنك هيكلتها بطريقة جيدة؟كيف يمكنك هيكلة ذلك؟الرسائل عبارة عن بيانات XML، عقدة واحدة لكل صف في الجدول.يمكن تحديث الصفوف الموجودة في الجدول أو حذفها أو إدراجها.

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

المحلول

وعادة مع تطبيقات OO من رسالة طوابير إجراء الفئات التي تمثل أنواع الفردية رسائل نفسك. لدرجة أن أنواع الرسائل المختلفة التي تتوقع الحصول على المشتقات هي من بعضها البعض، وهذا يوفر التسلسل الهرمي صفك للرسائل.

ومع أطر استمرار التكوين استنادا يمكنك تعيين للتو presistence لهذه الفئات مباشرة.

وبعد ذلك هناك واحد أو أكثر من الفئات التي الاستماع إلى قائمة انتظار الرسائل وفقط لا تزال قائمة الرسائل، وربما واحدة فقط. لم يكن لديك لتكون أكثر تفصيلا من ذلك.

نصائح أخرى

لا أعتقد أن كنت قد قدمت ما يكفي من المعلومات لإجابة جيدة. ماذا الرسائل تبدو وكأنها؟ أنها لا تختلف في محتويات / نوع، أو هم جميعا "رسائل" فقط؟ أنها لا تتفاعل مع بعضها البعض، أم أن هذا مجرد تحويل تنسيق البيانات؟ أحد مفاتيح التنمية OO هو أن ندرك أن "العثور على الأسماء ن الأفعال" لعبة (والذي هو بقدر ما كنت قد وصفه) ونادرا ما يؤدي إلى الحل الأفضل. ومن المؤكد أنه لن يكون أسوأ، ولكن عليك في نهاية المطاف مع تجميع البيانات وحفنة من قانون الإجراءات.

وقانون الإجراءات ليست سيئة، على الرغم من. لماذا لا تحتاج إلى أن تكون OO؟ هل المشكلة نفسها تتطلب تعدد الأشكال وإخفاء البيانات؟ هل هناك أي سلوك معقد تحاول نموذج؟ ليس هناك عيب في استخدام الحل غير OO، عندما تكون المشكلة بسيطة.

أفضل طريقة لبناء كود OO عند إرسال الرسائل أو التعامل مع أي نوع من البرامج الوسيطة هي إخفاء واجهات برمجة تطبيقات البرامج الوسيطة من التعليمات البرمجية الخاصة بك والتعامل فقط مع منطق الأعمال.

على سبيل المثالانظر هذه الأمثلة

  • استهلاك بوجو وهي إلى حد كبير حالة الاستخدام التي تصفها و
  • إنتاج بوجو إذا كنت بحاجة إلى إرسال رسائل إلى قائمة انتظار الرسائل.

ثم تحتاج فقط إلى تحديد ما لديك كائنات نقل البيانات يبدو مثل؛كيف تريد تشفير الأشياء على السلك بتنسيق XML / JSON / أيًا كان.

إن الشيء العظيم في هذا النهج هو أن الكود الخاص بك أصبح الآن حياديًا تمامًا للبرامج الوسيطة - يمكنك تبديل قائمة انتظار الرسائل الخاصة بك واستخدام قاعدة البيانات أو JavaSpace أو SEDA في الذاكرة أو الملفات أو أي بروتوكول اتصال آخر أو واجهة برمجة التطبيقات للبرامج الوسيطة.

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