السلام عليكم و رحمة الله
نرى في كثير من الاحيان انّ البرامج الكبيرة يكون حجم ال exe النهائي لبرامجها صغير جدا على الاغلب سوف يكون اقل من 500 كيلوبايت!!
دائما ترى انهم يستخدمون ملفات DLL و ملفات COM او حتى يتم تجزئة المشروع الى مجموعة من ال exe و يتم ربطها مع البرنامج الرئيسي, حيث ترى انّ البرنامج الرئيسي لا يحتوي في الاغلب إلا على استدعاءات للاوامر الموجودة في ملفات اخرى
كنت اتسأل دائماً لماذا؟ لماذا تقسيم الملفات الى اكثر من مكان و عدم وضعها ضمن ملف exe واحد يحتوي على كل الامور حتى على ال resources و بالتالي ترى حجم ملف ال exe النهائي كبير نوعا ما!
فوجدت الفوائد التالية لتقسيم المشروع:
1- عند وضع كل شيئ في ملف ال exe بالتالي سوف يتم تحميل كل شيئ في الذاكرة عند تشغيل البرنامج, بينما اذا كان البرنامج مقسم الى عدة اقسام سوف تقوم انت بتحميل الجزء الذي تريد في الوقت الذي تريد و تحرره متى اردت و بهذا يتم تخفيف الكثير الكثير من الاستعمال الغير مفيد للذاكرة
2- و ايضا مشكلة تحديث البرنامج, ففي اغلب الاحيان ترى الان البرامج المحترمة تقوم بعمل اداة ما لتحديث البرنامج في حال صدور نسخة احدث من على النت
فإذا كان البرنامج كله كتلة واحدة(ملف exe كبير) سوف تقوم الشركة بنسخ كامل الملف و بالتالي حجم كبير, اما اذا كان الملف مقسما الى عدة اقسام سوف يقوم التحديث في الاقسام التي تحتاج الى تحديث فقط. و لكن ايضا يمكن استخدام patch للتحديث على الملف ال exe الكبير و لكن الامر اصعب بكثير بالنسبة لي على الاقل.
3- و ايضا ممكن ان يستفاد في التقسيم في تنظيم العمل و توزيعه على فرق المبرمجين بحيث تعمل كل فرقة في قسم معين, و بالتالي تكون الامور مضبوطة بشكل افضل, برأيي هذه نقطة مهمة.
4- و ايضا ممكن ان نستثمر قسم معين مثل مكتبة DLL في استخدامها في تطبيقات اخرى او حتى بلغات اخرى, و لكن لا اريد الحديث الان عن المكتبات.