برمجة تركيبية: الفرق بين النسختين

[نسخة منشورة][نسخة منشورة]
تم حذف المحتوى تمت إضافة المحتوى
إزالة "عبارة عن"
JarBot (نقاش | مساهمات)
ط بوت:إصلاح تحويلات القوالب
سطر 1:
البرمجة التركيبية
'''البرمجة التركيبية''' هي أسلوب لتصميم البرامج يقوم بزيادة نطاق تكوين البرامج من مكونات منفصلة قابلة للتبادل تُسمى الوحدات، وذلك من خلال تحليل وظائف البرنامج إلى وحدات، بحيث تؤدي كلٌ منها وظيفة واحدة وتحتوي على كل ما هو ضروري للقيام بهذه الوظيفة.<ref>{{مرجعاستشهاد ويب
| تاريخ الوصول = 2010-03-08
| المؤلفمؤلف = Jürgen Haas
| المكانمكان = http://www.about.com/
| الناشرناشر = About.com
| العنوانعنوان = Modular programming
| quoteاقتباس = Modular programming is a programming style that breaks down program functions into modules, each of which accomplishes one function and contains all the source code and variables needed to accomplish that function.
ونظريًا، تتيح الوحدات فصل الشواغل وتحسين القابلية للصيانة عن طريق فرض حدود منطقية بين المكونات. وعادة ما تكون الوحدات مضمنة في البرامج من خلال الواجهات.}}</ref> وتعبّر واجهة الوحدة عن العناصر التي تقدمها وتتطلبها الوحدات. ويمكن للوحدات الأخرى الكشف عن العناصر المحددة في الواجهة؛ كما يحتوي التطبيق على كود التشغيل الذي يتوافق مع العناصر المعروضة في الواجهة.
== دعم اللغة ==
سطر 13:
== الجوانب الرئيسية ==
في البرمجة التركيبية، يتم فصل الشواغل بحيث لا تعتمد أية وحدات (أو بعضها) على وحدات أخرى في النظام]محل شك – ناقش[. والهدف من ذلك هو تقليل الاعتماد قدر الإمكان ]محل شك – ناقش[.
وعند إنشاء نظام تركيبي بدلاً من إنشاء تطبيق أحادي (حيث يكون الكل هو أصغر مكون)، يتم بناء عدة وحدات أصغر (يتم تجميعها في العادة) بشكل منفصل بحيث تقوم ببناء[[ترجمة في الوقت المناسب]] وهو برنامج تطبيق قابل للتنفيذ حينما تُترجم هذه الوحدات معًا. وقد يساهم المُترجم في الوقت المناسب في جانب من هذا البناء "بحركة دؤوبة" في وقت التشغيل.
وهذا من شأنه جعل النظم التركيبية المصممة، إذا تم إنشاؤها بشكل صحيح، قابلة لإعادة الاستخدام أكثر بكثير من التصميم الأحادي التقليدي، نظرًا لأن كل (أو كثير من) هذه الوحدات يمكن إعادة استخدامها حينئذٍ (بدون تغيير) في مشاريع أخرى. كما ييسر ذلك من "تحليل" المشاريع (من خلال مبدأ "فرق تسد") إلى عدة مشاريع أصغر. ونظريًا، سيتم تجميع مشروع برامج تركيبية بشكل أسهل بواسطة فِرق كبيرة، حيث لا يقوم أي أعضاء فريق بإنشاء النظام بالكامل، أو لا يضطرون لمعرفة النظام ككل، وإنما يمكنهم التركيز فحسب على المهمة الأصغر المسندة إليهم (يُقال أن هذا يواجه الافتراض الأساسي لمقالات The Mythical Man Month (أشهر رجل أسطوري) – الذي يجعل من الممكن حقًا إضافة مطورين إلى مشروع برامج أخير – دون تأخيره إلى وقت لاحق).
== التطبيق ==
في الآونة الأخيرة، تفوق تمرير الرسائل على واجهات "الاتصال" السابقة الأكثر تقليدية<code>Call</code> ليصبح الرابط الأكثر هيمنة بين الوحدات المنفصلة وذلك في محاولة لحل "مشكلة الإصدارات" (التي تحدث أحيانًا عند استخدام الوجهات للاتصال بين الوحدات).
== الخلفية التاريخية ==
تم استخدام لغات البرمجة التقليدية لدعم البرمجة التركيبية - منذ عقد الستينيات على أقل تقدير. ويعتبر مفهوم البرمجة التركيبية مفهومًا فضفاضًا ليس له تعريف رسمي؛ وهو، في جوهره، مجرد تقنية برمجية ]محل شك – ناقش[. وحيثما تنتهي البرمجة التركيبية بالضبط وتبدأ[[مكتبة الربط الديناميكي]] و[[برمجة كائنية التوجه]]، تكون في هذا السياق ذاتية. كما يمكن تعريفها بأنه السلف الطبيعي للبرمجة كائنيه التوجه، أو أنها، وفقًا لوجهة نظر، خطوة تطورية متقدمة عنها.
== انظر أيضًا ==
* لغة توصيف البنية
سطر 37:
<!--Interwikies-->
 
{{شريط بوابات|برمجة الكمبيوترالحاسوب|معلوماتيةتقنية المعلومات}}
{{ضبط استنادي}}