سؤال

ما هي أفضل طريقة لتنفيذ NLOG في تطبيق PRISM / CAL WPF. قد يكون هذا سؤالًا للهواة ، فأنا جديد قليلاً على إطار المنشور بأكمله :)

فكرت في وضع الإشارة إلى NLOG DLL في وحدة البنية التحتية وجعل فئة مفردة غلاف على سبيل المثال mylogger. كان تفكيري هو أن أكون قادرًا على الإشارة إلى تنفيذ مسجل واحد في مكان ما في مكان مركزي يشير إليه كل شيء ، والشيء الوحيد الذي أعرفه في Prism هو وحدة البنية التحتية الخاصة بك.

الطريقة الأخرى الواضحة هي إضافة إشارة إلى NLOG إلى كل وحدة ، لكنني أعتقد أن هذا من شأنه أن يهزم الغرض من الفصل وكل ذلك.

أي أفكار ستكون مفيدة للغاية

يعتبر

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

المحلول

أود أن أوصي بشيء مشابه لفكرتك الأولى ، على الرغم من أنها تستفيد من واجهة موجودة بالفعل في PRISM.

على الرغم من أنني لست متأكدًا من توقيعات الطريقة الدقيقة المتاحة لك في NLOG ، إلا أنك قد ترغب في التفكير في استخدام Prism's iloggerfacade الواجهة ، والتي يتم تعريفها عادة في bootstrapper (انظر Stocktraderri تطبيق للحصول على مثال على كيفية إعداد ذلك). عادة ، هذا بمثابة تمريرة إلى واجهة التسجيل المركبة من Microsoft, ، ولكن لا يوجد سبب يمنعك من استخدام هذا لربط المسجل الخاص بك.

بعض الأسباب للنظر في هذا النهج:

  1. يستخدم واجهة Iloggerfacade الموجودة بالفعل في إطار Prism ، والتي سيكون على دراية بها مطوريين آخرون
  2. إذا قررت لاحقًا الانتقال إلى إطار تسجيل مختلف ، فيجب عليك فقط استبدال الكائن خلف تطبيق Iloggerfacade

يتمثل النهج الآخر في القيام كما تقترح: إنشاء واجهة تحدد خدمة لـ NLOG (أو فضح واجهة NLOG موجودة) في بنية التحتية DLL وتسجيل تنفيذ تلك الخدمة في bootstrapper. يمكنك عندئذٍ حاوية حقن التبعية للحصول على إشارة إلى خدمة المسجل في الوحدات النمطية الخاصة بك. لاحظ ، مع ذلك ، أن هذا حقًا يعيد إنتاج ما تمنحكه واجهة Iloggerfacade بالفعل.

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