تأثير المنصة الداخلية

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

أمثلة

تتجلى الأمثلة في البرامج التي تعتمد على الإضافات ، مثل بعض محررات النصوص ومتصفحات الويب ، حيث يقوم المطورون غالبًا بإنشاء إضافات تُعيد إنشاء برامج تعمل عادةً فوق نظام التشغيل نفسه. وقد استُخدمت آلية إضافات فايرفوكس لتطوير عدد من عملاء بروتوكول نقل الملفات (FTP) ومتصفحات الملفات ، والتي تُحاكي فعليًا بعض ميزات نظام التشغيل ، وإن كان ذلك على منصة أكثر تقييدًا.

في عالم قواعد البيانات ، قد يميل المطورون أحيانًا إلى تجاوز نظام إدارة قواعد البيانات العلائقية (RDBMS) ، على سبيل المثال بتخزين كل شيء في جدول واحد كبير بثلاثة أعمدة تحمل أسماء مُعرّف الكيان، والمفتاح، والقيمة. مع أن نموذج الكيان-السمة-القيمة هذا يُتيح للمطور التحرر من بنية قاعدة بيانات SQL ، إلا أنه يُفقده جميع مزاياه، [ 1 ] إذ تُفرض جميع المهام التي يُمكن لنظام إدارة قواعد البيانات العلائقية إنجازها بكفاءة على التطبيق. تصبح الاستعلامات أكثر تعقيدًا، [ 2 ] وتفقد الفهارس ومُحسِّن الاستعلامات فعاليتهما ، ولا تُطبَّق قيود صحة البيانات . وقد يكون الأداء وسهولة الصيانة في غاية السوء.

يوجد إغراء مماثل في لغة XML ، حيث يفضل المطورون أحيانًا استخدام أسماء عناصر عامة، ويعتمدون على السمات لتخزين معلومات ذات دلالة. على سبيل المثال، قد يُسمى كل عنصر " item" ويحتوي على سمات "type" و "value" . تتطلب هذه الممارسة ربط عدة سمات لاستخلاص المعنى. ونتيجة لذلك، تصبح تعبيرات XPath أكثر تعقيدًا، ويقلّ التقييم، ويصبح التحقق من البنية ذا فائدة ضئيلة.

مثال آخر هو ظاهرة بيئات سطح المكتب على الويب ، حيث تعمل بيئة سطح مكتب كاملة - غالبًا ما تتضمن متصفح ويب - داخل متصفح (والذي بدوره يعمل عادةً ضمن بيئة سطح المكتب التي يوفرها نظام التشغيل ). قد يكون استخدام سطح مكتب داخل سطح مكتب آخر أمرًا غير مريح للمستخدم، ولذلك يُستخدم هذا الأسلوب عادةً فقط لتشغيل البرامج التي يصعب تثبيتها على أنظمة المستخدمين النهائيين، أو لإخفاء سطح المكتب الخارجي.

تأثير

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

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

الاستخدامات المناسبة

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

انظر أيضاً

مراجع

  1. سيلكو، جو (1 فبراير 2011). "جداول البحث في لغة SQL" . مؤرشف من الأصل في 23 سبتمبر 2016. تم الاطلاع عليه في 25 أبريل 2016 .
  2. بيترسون، دون (8 سبتمبر 2004). "جنون جداول البحث" . تم الاسترجاع في 1 مايو 2023 .