نظام الكائنات الفوقية

يُعد نظام الكائنات الوصفية جزءًا من نواة إطار عمل Qt، وهو مُصمم لدعم امتدادات Qt للغة C++ مثل الإشارات/الفتحات للتواصل بين الكائنات، ومعلومات نوع وقت التشغيل ، ونظام الخصائص الديناميكية. [ 1 ]

بنيان

يتكون نظام الكائنات الوصفية من ثلاثة عناصر: فئة QObject، ووحدة الماكرو Q_OBJECT ، وأداة تُسمى moc ( مُترجم الكائنات الوصفية ). تُعد QObject الفئة الأساسية لجميع فئات Qt، وتُستخدم وحدة الماكرو Q_OBJECT لتفعيل ميزات الكائنات الوصفية في الفئات، وأخيرًا، تُعد moc مُعالجًا مُسبقًا يُحوّل مثيلات وحدة الماكرو Q_OBJECT إلى شفرة مصدرية بلغة C++ لتفعيل آلية نظام الكائنات الوصفية في الفئة التي تُستخدم فيها. [ 2 ]

أثار استخدام نظام الكائنات الوصفية بعض الانتقادات. في وثائق Qt ، ذُكرت عدة أسباب لاستخدام هذا النظام، منها فوائد توليد الكود ، وديناميكية واجهات المستخدم الرسومية ، والربط التلقائي بلغات البرمجة النصية، وعدم إضافة قيود، بالإضافة إلى الأداء المعقول في تنفيذ الإشارات/الفتحات باستخدام moc. [ 3 ] وهناك بعض الجهود المبذولة لجعل Qt غير بحاجة إلى معالج مسبق. تشمل هذه الجهود إعادة تنفيذ Qt moc باستخدام libclang. [ 4 ]

مراجع

  1. "نظام الكائنات الوصفية - QtCore 5.1" . مشروع Qt. 2013-07-04. مؤرشف من الأصل في 2013-08-26 . تم الاطلاع عليه في 2013-07-04 .
  2. "استخدام مُجمِّع الكائنات الوصفية (moc)" . مشروع Qt. 2013-07-04. مؤرشف من الأصل في 2013-08-26 . تم الاطلاع عليه في 2013-07-04 .
  3. "لماذا يستخدم Qt مكتبة Moc للإشارات والفتحات؟" . مشروع Qt. 2013-07-04. مؤرشف من الأصل في 2013-10-20 . تم الاطلاع عليه في 2013-07-04 .
  4. "إعادة تنفيذ Qt moc باستخدام libclang" . أوليفييه جوفارت. 2013-07-04 . تم الاطلاع عليه بتاريخ 2013-07-04 .