هل C++ تسجيل الأطر التضحية إعادة الاستخدام?

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

  •  09-06-2019
  •  | 
  •  

سؤال

في C++, ليس هناك بحكم الواقع القياسية أداة تسجيل.في تجربتي, محلات لفة الخاصة بهم.وهذا يخلق مشكلة ، ومع ذلك ، عند محاولة إنشاء مكونات البرامج التي يعاد استخدامها.إذا كان كل شيء في النظام الخاص بك يعتمد على عنصر تسجيل هذا يجعل البرنامج أقل قابلة لإعادة الاستخدام ، أساسا إجبار أي مشاريع المصب إلى اتخاذ الخاص بك تسجيل إطار جنبا إلى جنب مع المكونات التي تريد حقا.

اللجنة الأولمبية الدولية (حقن التبعية) لا تساعد حقا مع هذه المشكلة منذ المكونات الخاصة بك سوف تحتاج إلى الاعتماد على تسجيل التجريد.تسجيل مكونات أنفسهم يمكن أن تضيف تبعيات على ملف I/O ، مما اثار آليات أخرى ربما غير المرغوب فيها التبعيات.

لا إضافة التبعية إلى الملكية الخاصة بك تسجيل إطار التضحية إعادة استخدام من العنصر ؟

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

المحلول

نعم.ولكن الاعتماد على حقن تساعد في هذه الحالة.

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

نصائح أخرى

نعم Mendelt هو الحق.لا نفعل هذا في منتجاتنا.كل شيء يعتمد على ILogger مجردة واجهة, ولكنها لا تعتمد على أي شيء آخر.عادة قابل للتنفيذ أو رفيع المستوى DLL سوف تكون واحدة لبناء فعلية تنفذ مسجل واجهة وحقنه.

إذا كنت تبحث لبناء المكتبات التي لن يكون recompiled, ولكن ترغب في تقديم تسجيل واجهة ثم ربما هو وسيلة جيدة للسماح للمستخدم (المكتبة) إلى تقديم رد.

على initialising تسجيل مع المكتبة الخاصة بك, أنها سوف تحتاج إلى تحديد رد ثم الغراء رمز متروك لهم أن تجعل من اللعب بشكل جيد مع كل ما لديهم.

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

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

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