ما هو COM - لماذا لا يزال تصميم Windows COM يبدو جميلاً حتى اليوم

· · COM, ActiveX, تطوير Windows

ما هو COM - لماذا لا يزال تصميم Windows COM يبدو جميلاً حتى اليوم

كثيراً ما يُنظر إلى COM على أنّه تقنية قديمة، إلّا أنّه في تطوير Windows لا يزال يظهر بوصفه فكرة تصميمية محورية.
والأسئلة التي يبحث عنها الناس باستمرار هي عادةً نفسها: ما هو COM فعلاً، ولماذا يهمّ IUnknown وأرقام GUID، ولماذا لا يزال COM حاضراً في النقاش حتى اليوم.

ما هو COM؟

COM (Component Object Model) هو عقد ثنائي (binary contract) يتيح للمكوّنات أن تتواصل فيما بينها على Windows.
فهو يسمح بالتواصل عبر عقد واجهة (interface) صارم يصمد أمام اختلافات اللغات والمترجِمات.

الأفكار الأساسية التي تحتاجها لفهم COM هي:

  • تصميم يبدأ من الواجهة: العقد يأتي قبل التنفيذ
  • التعريف عبر GUID (CLSID / IID)
  • عدّ المراجع واكتشاف الواجهات عبر IUnknown
  • القدرة على العمل ليس فقط كـ DLL (داخل العملية - in-process) بل أيضاً كـ EXE (خارج العملية - out-of-process)

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

لماذا يتميّز COM

يمتلك COM نقاط قوّة معمارية لا تزال تستحقّ الاحترام، حتى وإن بدت التقنية قديمة للوهلة الأولى.

  • التوافق الثنائي (Binary compatibility)
    يمكنك استهلاك مكوّنات مبنيّة مسبقاً دون الاكتراث بلغة التنفيذ أو زمن التشغيل.

  • فصل الواجهات
    من خلال إخفاء التنفيذ ونشر العقد فقط، تحصل على تصميم متين وقابل للصيانة.

  • التعايش بين الإصدارات
    الطريقة المعتادة لإضافة وظائف جديدة دون كسر التوافق هي إضافة واجهات جديدة. وهذا أسلوب يعكس روح Microsoft تماماً.

  • إعادة الاستخدام عبر حدود العمليات
    مع COM خارج العملية (out-of-process)، يمكنك استدعاء وظائف تعمل في عملية أخرى بأمان.

هذا الاستقلال عن اللغة والعملية والتنفيذ هو ما يجعل COM يبدو في نظري أنيقاً.

COM لا يزال نشطاً حتى اليوم

كثيراً ما يصف الناس COM بأنّه تقنية موروثة (legacy)، لكنّه لا يزال مستخدماً داخل نواة Windows حتى اليوم.
وكلّما احتجت إلى التكامل مع أصول قديمة أو استخدام ميزات خاصّة بـ Windows، يبقى COM خياراً مهمّاً.

أماكن لا تتوقّع أن يظهر فيها COM

  • امتدادات Explorer مثل قوائم النقر بالزرّ الأيمن والمعاينات
  • أتمتة Office للتحكّم بـ Excel أو Word من الخارج
  • التشغيل البيني مع .NET عبر COM Interop
  • الأنظمة القائمة التي لا تزال تتضمّن ActiveX

حتى إن ظننت أنّ COM لا علاقة له بعملك الحالي، فإنّه يميل إلى الظهور في مكان ما داخل أيّ مشروع جادّ لتطوير Windows.
ولهذا تحديداً يستحقّ الأمر فهم الفلسفة التصميمية التي تقف خلفه.

أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.

ما يجب التحقّق منه عندما لا يعمل ActiveX على Office 2024 / Microsoft 365 - الترتيب العمليّ لتغطية التعطيل الافتراضيّ، 32bit / 64bit، تسجيل COM، DLL التابعة، ووصولًا إلى IE mode

دليل عمليّ لتشخيص توقّف ActiveX على Office 2024 و Microsoft 365، يرتّب الفحوص من التعطيل الافتراضيّ إلى تطابق 32bit / 64bit وتسجيل COM وD...

ترتبط هذه المقالة بشكل طبيعي بصفحات الخدمات التالية.

الملف الشخصي للمؤلف

صفحة الملف الشخصي لمؤلف المقالة.

غو كومورا

مؤسّس شركة كومورا سوفت ذ.م.م.

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

روابط عامة

العودة إلى المدونة