سؤال

بناء على السؤال (كيفية إنشاء خدمة إخطار العميل لـ WebApp أو هل يجب أن أستخدم نمط المراقب؟) أود أن أعرف.

لدي DAO المنفذة بالكامل مع حبوب كيان تحتوي فقط على طريقة getters و setters. يتم تعيين كل كيان إلى entityManager.

لا توجد حاليًا أي طريقة لإخطار المستخدمين بأي تغييرات تمت إضافتها/حذفها/تحديثها إلى تخزين مستمر مثل قاعدة البيانات.

أريد أن أعرف ، كيف سأقوم بتنفيذ نمط نشر النشر (المعروف أيضًا باسم نمط المراقب) بحيث لا يتعين علي تمديد بنية DAO الحالية. لا أريد أن ترث كياناتي الناشر لأن جميع الكيانات غير قادرة على التحديث.

إذا كان هناك أي أدوات/أطر/مكتبات يمكنني استخدامها في وضعي ، فيرجى إخبارنا بذلك. أيضًا ، أنا لا أستخدم أي إطار مستمر على الإطلاق (إطار مثل Hibernate) ، وقد كتب مدير DAO والمصنع بالكامل من نقطة الصفر من قبلي.

يعتبر،

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

المحلول

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

أتمنى أن يكون ذلك واضحًا ...

بول

نصائح أخرى

الاقتراح الأول الذي أود الحصول عليه هو تضمين كائن يمكن ملاحظته داخل DAO. عندها ستعمل على إلقاء نظرة على هذا الكائن (لقد فعلت أشياء مماثلة في الماضي).

الاقتراح الآخر الذي لدي هو أنه يمكنك إضافة مشغل إلى قاعدة البيانات نفسها. سيكون هذا مفيدًا بشكل خاص إذا كان هناك أي شيء خارج تطبيقك يمكن أن يغير DB الذي تريد إخطاره.

حظا طيبا وفقك الله.

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