stanford-oval/wikipedia huggingface dataset:
هاري بوتر وكأس النار
ملخص الحبكة

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

هاري بوتر وكأس النار هو الكتاب الرابع في سلسلة هاري بوتر. نُشِر الأول، هاري بوتر وحجر الفيلسوف، من قبل دار بلومزبري في 26 يونيو 1997. أما الثاني، هاري بوتر وحجرة الأسرار، فقد نشر في 2 يوليو 1998. تلاها الثالث، هاري بوتر وسجين أزكابان، في 8 يوليو 1999. حجم كأس النار هو ضعف حجم الكتب الثلاثة الأولى (كانت الطبعة الورقية 636 صفحة). صرحت رولينغ بأنها «علمت من البداية أنه سيكون الأكبر بين الكتب الأربعة الأولى»، وقالت إن هناك حاجة إلى «تمهيد مناسب» للنهاية، وأن تعجيل «الحبكة المعقدة» يمكن أن يربك القراء. ذكرت أيضًا أن «كل شيء على نطاق أوسع»، وكان ذلك رمزيًا، حيث اتسعت آفاق هاري حرفيًا ومجازيًا مع كبره. أرادت رولينغ أيضًا استكشاف المزيد من العالم السحري.
حتى إعلان العنوان الرسمي في 27 يونيو 2000، كان الكتاب معروفًا بالعنوان المؤقت «هاري بوتر الرابع». سابقًا في أبريل 2017، أدرجه الناشر باسم هاري بوتر وبطولة دومسبل. على الرغم من ذلك، أعربت ج. ك. رولينغ عن ترددها بشأن العنوان في مقابلة مع مجلة إنترتينمنت ويكلي. «غيرت رأيي مرتين بشأن [العنوان]. كان العنوان المؤقت قد صدر -هاري بوتر وبطولة دومسبل. ثم غيرت دومسبل إلى بطولة ترايويزارد. بعد ذلك كنت أتأرجح بين كأس النار وبطولة ترايويزارد. في النهاية، فضلت كأس النار لأن لديه إحساس كأس القدر ذاك، وهو محور أحداث الكتاب».
ذكرت رولينغ أنها كتبت في الأصل قريبة لويزلي تدعى مالفالدا، والتي، وفقًا لرولينغ، «كانت الابنة لابن العم الثاني، سمسار البورصة المذكور في حجر الفيلسوف. كان سمسار البورصة ذاك وقحًا تجاه السيد والسيدة ويزلي في الماضي، ولكن الآن هو وزوجته (الماغل) أنجبا ساحرة بما شكّل إزعاجًا لهما، لذلك عادوا إلى عائلة ويزلي طالبين مساعدتهم في تعريفها على مجتمع السحرة قبل أن تبدأ في هوغوورتس». كان من المفترض أن تكون مالفالدا تابعة لمنزل سليذرين وأن تملأ الحبكة الفرعية لريتا سكيتر، لكن أُزيلَت في النهاية لأنه «كانت هناك حدود واضحة لما يمكن أن تكتشفه طفلة منغلقة تبلغ من العمر 11 عامًا في المدرسة». اعتبرت رولينغ أن ريتا سكيتر «أكثر مرونة بكثير»، واعترفت أيضًا بأن الكتاب الرابع كان الأكثر صعوبة في الكتابة وقتها لأنها لاحظت وجود فجوة عملاقة في الحبكة في منتصف الطريق خلال الكتابة. على وجه الخصوص، واجهت رولينغ مشكلة في الفصل التاسع، «علامة الظلام»، الذي أعادت كتابته 13 مرة.
مراجع

↑  وصلة مرجع: https://www.thehugoawards.org/hugo-history/2001-hugo-awards/.
↑  Hartman، Holly (20 يناير 2000). "Harry Potter and the Goblet of Fire: Pre-release". Infoplease. مؤرشف من الأصل في 2016-07-27. اطلع عليه بتاريخ 2010-12-03.
↑  Gray، Brandon (21 نوفمبر 2005). "Harry Potter's 'Goblet' Runneth Over with Cash". بوكس أوفيس موجو. مؤرشف من الأصل في 2017-11-11. اطلع عليه بتاريخ 2011-11-28.
↑  "Comic Relief live chat transcript". Accio Quote!. مارس 2001. مؤرشف من الأصل في 2018-01-01. اطلع عليه بتاريخ 2010-12-03.
↑  Jensen، Jeff (4 أغسطس 2000). "Rowling Thunder". Entertainment Weekly. مؤرشف من الأصل في 2 يونيو 2013. اطلع عليه بتاريخ 28 نوفمبر 2011.
↑  "Section: Extra Stuff". J. K. Rowling Official Site. مؤرشف من الأصل في 8 فبراير 2012. اطلع عليه بتاريخ 21 مارس 2011.
↑  "Comic Relief live chat transcript". Accio Quote!. مارس 2001. مؤرشف من الأصل في 1 ديسمبر 2010. اطلع عليه بتاريخ 3 ديسمبر 2010.
| ضبط استنادي  | ضبط استنادي  |
| --- | --- |
دولية: ملف الضبط الاستنادي الافتراضي الدَّولي (VIAF)
وطنية: الملف الاستنادي المتكامِل (GND) مكتبة الكونغرس (LCNAF) المكتبة القومية الإسرائيلية (J9U)
أخرى: النظام الجامعي للتوثيق (IdRef) موسوعة ميوزيك برينز (MBW)1 2
في كومنز مواد ذات صلة بـ هاري بوتر وكأس النار.
بوابة أدب أطفال
بوابة أدب إنجليزي
بوابة المملكة المتحدة
بوابة خيال علمي
بوابة روايات
بوابة عقد 2000
بوابة كتب
بوابة هاري بوتر
قبيلة الفونج

بوابة التاريخ
بوابة السودان
بوابة علم الإنسان
مملكة الفونج دولة إسلامية حكمت السودان في الفترة الواقعة بين أعوام 910 - 1237هـ، 1504 - 1821م. وتسمى أيضًا السَّلْطَنَة الزرقاء أو سلطنة سنار. ظهرت تلك المملكة نتيجة للتحالف القوي الذي حدث بين قبيلتي الـفـونج والعَبـدَلاَّب. يعــود أصـل الفـــونج في بعــض الروايات إلى أنهم من بقايا الأمويين الذين فروا عقب سقوط دولتهم وقيام دولة بني العباس. أما العبدلاب فهم سلالة الشيخ عبد الله جمَّاع الرجل القوي الذي وحَّد القبائل العربية في السودان في ذلك الوقت، وزعيم قبيلة القواسمة العربية، وهو والد الشيخ عجيب المانجلك أقوى شيوخ العبدلاب. بدأت موجات الهجرة العربية إلى السودان في القرن الثالث الهجري (التاسع الميلادي) وبلغت ذروتها في القرن الرابع عشر. وتدفقت من منافذ كثيرة حتى وصلت منطقة كانم ـ برنو. أسهمت هذه الهجرات في القضاء على مملكتي المقرة وعلوة النصرانيتين اللتين قامتا في شمالي ووسط السودان. فعلى الرغم من تطور الحياة الاجتماعية والسياسية والثقافية في وسط السودان، فإن الأحوال لم تستقر تمامًا، وذلك لوجود نزاعات بين القبائل العربية حول مواطن الرعي. فانعكس ذلك على تدهور التجارة بين مصر والسودان، وبالتالي تدهور الحالة الاقتصادية. لهذه الأسباب وغيرها ظهرت الحاجة إلى إنشاء حكومة مركزية قوية تخضع لها شتى الجماعات والقبائل المتنازعة لإقرار الأمن وحماية الطرق التجارية القديمة. بعد فترة اكتنف الغموض فيها أحوال علوة، تتحدث الروايات المختلفة المحلية التي دونت في أوائل القرن التاسع عشر، عن تحالف عمارة دنقس ـ زعيم قبيلة الفونج ـ مع عبد الله جماع زعيم قبيلة القواسمة، وقادهما هذا التحالف إلى قتال ملك علوة وتغلبا عليه، وأقاما دولة إسلامية اتحادية قوية عاصمتها سِنّار في أرض السودان، وعرفت بالسلطنة الزرقاء.

اتفق الزعيمان على أن يكون عمارة الملك في علوة، لكونه الأكبر وشيخ المشيخة الأقدم في المنطقة، وأن يحكم عبد الله جماع الإقليم الغربي لعلوة. واختط الفونج مدينة سنار وجعلوها عاصمة لهم سنة 910هـ، 1504م، واختط العبدلاب مدينة قَرِّي وجعلوها عاصمة لهم. كان من أبرز نتائج هذا الاتحاد قيام أول دولة إسلامية سودانية، أدخلت البلاد في فترة من الاستقرار، نمت في ضوئه حضارة إسلامية عربية سودانية.
نموذج كائن المكون

نموذج كائن المكون
| 0 | 1 |
| --- | --- |
الاستعمال:  هندسة البرمجيات بالمكونات 
الاسم المختصر:  COM (بالإنجليزية) 
المُطوِّر:  مايكروسوفت 
تاريخ النشر:  1993 
موقع الويب:  docs.microsoft.com… 
تعديل - تعديل مصدري - تعديل ويكي بيانات
نموذج كائن المكون (حاسوب)و اختصارا ب (COM) وبالانجليزية (Component Object Model) هو معيار واجهة ثنائية لمكونات البرامج التي قدمتها Microsoft في 1993. يتم استخدامه لتمكين إنشاء كائن الاتصال بين العمليات في مجموعة كبيرة من لغات البرمجة. يعد COM أساسًا للعديد من تقنيات وأطر عمل Microsoft الأخرى، بما في ذلك OLE و OLE Automation و Browser Helper Object وActiveX و COM + و DCOM وWindows shell وDirectX و UMDF و Windows Runtime . جوهر COM هو طريقة لغة محايدة لتنفيذ الأشياء التي يمكن استخدامها في بيئات مختلفة عن تلك التي تم إنشاؤها فيها، حتى عبر حدود الماكينة. بالنسبة للمكونات المصممة جيدًا، يسمح COM بإعادة استخدام الكائنات بدون معرفة بتنفيذها الداخلي، حيث يفرض على منفذي المكونات توفير واجهات محددة جيدًا منفصلة عن التنفيذ. يتم استيعاب دلالات التخصيص المختلفة للغات من خلال جعل الكائنات مسؤولة عن إنشائها وتدميرها من خلال العد المرجعي. يتم تحقيق تحويل النوع بين واجهات مختلفة لكائن من خلال أسلوب QueryInterface الأسلوب المفضل لـ «الوراثة» داخل COM هو إنشاء كائنات فرعية يتم تفويض «استدعاءات» الأسلوب إليها.
COM هي تقنية واجهة تم تعريفها وتنفيذها كمعيار فقط على مايكرو سوفت وندوز و Apple's Core Foundation 1.3 وما بعده من واجهة برمجة التطبيقات الإضافية (API). يقوم الأخير فقط بتنفيذ مجموعة فرعية من واجهة COM بأكملها. بالنسبة لبعض التطبيقات، تم استبدال COM على الأقل إلى حد ما بواسطة Microsoft. NET Framework ودعم خدمات الويب من خلال Windows Communication Foundation (WCF). (اساسيات اتصال وندوز ))ومع ذلك، يمكن استخدام كائنات COM مع الكل. NET من خلال. NET COM Interop . يستخدم Networked DCOM تنسيقات الملكية الثنائية، بينما يشجع WCF على استخدام رسائل SOAP المستندة إلى XML. يشبه COM إلى حد كبير تقنيات واجهة برمجيات المكونات الأخرى ، مثل CORBA وEnterprise JavaBeans ، على الرغم من أن لكل منهما نقاط قوة وضعف خاصة به. على عكس ++C ، يوفر COM واجهة تطبيق ثنائية ثابتة (ABI) لا تتغير بين إصدارات المحول البرمجي. هذا يجعل واجهات COM جذابة لمكتبات ++C الموجهة للكائنات والتي سيتم استخدامها من قبل العملاء الذين تم تجميعهم باستخدام إصدارات مترجم مختلفة.
التاريخ

كانت إحدى الطرق الأولى للاتصال بين العمليات في وندوز هي تبادل البيانات الديناميكي (DDE)،  تقديمه لأول مرة في عام 1987،  والذي سمح بإرسال واستقبال الرسائل فيما يسمى بـ «المحادثات» بين التطبيقات. قام أنتوني ويليامز، الذي شارك في إنشاء بنية COM ، في وقت لاحق بتوزيع ورقتين داخليتين في ميكروسوفت احتضنتا مفهوم مكونات البرامج: هندسة الكائنات: التعامل مع أمان النوع غير المعروف أو النوع في مكتبة فئة قابلة للتوسيع ديناميكيًا في عام 1988 و عن الميراث: ما يعنيه وكيفية استخدامه عام 1990. قدمت هذه الأساس للعديد من الأفكار وراء COM. تم إنشاء ارتباط الكائنات وتضمينها (OLE)، وهو أول إطار عمل يستند إلى الكائنات من ميكروسوفت، فوق DDE وتم تصميمه خصيصًا للمستندات المركبة. تم تقديمه مع Word for Windows ومايكروسوفت اكسل في عام 1991، وتم تضمينه لاحقًا مع وندوز، بدءًا من الإصدار 3.1 في عام 1992. مثال على المستند المركب هو جدول بيانات مضمن في مستند وورد لـ وندوز: عندما يتم إجراء تغييرات على جدول البيانات داخل اكسل، فإنها تظهر تلقائيًا داخل مستند وورد.
في عام 1991، قدمت ميكروسوفت ملحقات فيجوال بيسك (VBX) مع Visual Basic 1.0. VBX هو امتداد حزم في شكل مكتبة ارتباط ديناميكي (DLL) يسمح بوضع الكائنات بيانياً في نموذج ومعالجتها بواسطة الخصائص والطرق. تم تكييفها لاحقًا للاستخدام من قبل لغات أخرى مثل Visual C ++ . في عام 1992 ، عندما تم إطلاق الإصدار 3.1 من Windows ، أصدرت Microsoft OLE 2 مع نموذج الكائن الأساسي الخاص بها. كانت الواجهة الثنائية لتطبيق COM (ABI) هي نفسها واجهة MAPI ABI (التي تم إصدارها في عام 1992)، ومثلها كانت تستند إلى MSRPC وفي النهاية على DCE / RPC للمجموعة المفتوحة. بينما ركز OLE 1 على المستندات المركبة، تم تصميم COM و OLE 2 لمعالجة مكونات البرامج بشكل عام. أثبتت المحادثات النصية ورسائل مايكروسوفت ويندوز أنها ليست مرنة بما يكفي للسماح بمشاركة ميزات التطبيق بطريقة قوية وقابلة للتوسيع، لذلك تم إنشاء COM كأساس جديد، وتغير OLE إلى OLE2. في عام 1994، تم تقديم عناصر تحكم OLE المخصصة (OCXs) كخلف لعناصر تحكم VBX. في الوقت نفسه، صرحت مايكروسوفت أن OLE 2 سيعرف فقط باسم "OLE"، وأن OLE لم يعد اختصارًا، ولكنه اسم لجميع تقنيات مكونات الشركة. في أوائل عام 1996، اكتشفت مايكروسوفت استخدامًا جديدًا لعناصر تحكم OLE المخصصة، مما أدى إلى توسيع قدرة مستعرض الويب الخاص بهم على تقديم المحتوى، وإعادة تسمية بعض أجزاء OLE المتعلقة بالإنترنت «ActiveX»، وإعادة تسمية جميع تقنيات OLE تدريجياً إلى ActiveX ، باستثناء تقنية المستندات المركبة التي تم استخدامها في Microsoft Office . في وقت لاحق من ذلك العام، قامت Microsoft بتمديد COM للعمل عبر الشبكة مع DCOM.
التقنيات ذات الصلة

كان COM هو المنصة الرئيسية لتطوير البرامج لنظام وندوز، وبالتالي أثر في تطوير عدد من التقنيات الداعمة. وبالمثل تأثرت بشدة بالتقنيات السابقة.
التقنيات ذات الصلة > DDE

استبدل COM DDE باعتباره الشكل المفضل للاتصال بين العمليات.
التقنيات ذات الصلة > DCE / RPC و MSRPC

كنموذج مكون متعدد اللغات، يعتمد COM على لغة تعريف الواجهة، أو IDL ، لوصف الكائنات والوظائف المرتبطة بها. يعتمد COM IDL بشكل كبير على DCE / RPC IDL الغني بالميزات، مع امتدادات موجهة للكائنات. يتم استخدام تطبيق مايكروسوفت الخاص لـ DCE / RPC ، والمعروف باسم MSRPC ، بشكل كبير كآلية اتصال أساسية بين العمليات لخدمات Windows NT والمكونات الداخلية، مما يجعلها اختيارًا واضحًا للمؤسسة.
التقنيات ذات الصلة > DCOM

قام DCOM (الموزع COM) بتوسيع نطاق وصول COM من مجرد دعم مستخدم واحد بتطبيقات منفصلة متصلة على سطح مكتب وندوز، إلى تنشيط الكائنات التي تعمل في ظل سياقات أمان مختلفة، وعلى أجهزة مختلفة عبر الشبكة. مع هذا تمت إضافة الميزات الضرورية لتكوين المستخدمين الذين لديهم سلطة إنشاء الكائنات وتفعيلها واستدعاءها، لتحديد المستخدم المتصل، بالإضافة إلى تحديد التشفير المطلوب لتأمين المكالمات.
التقنيات ذات الصلة > +COM

لكي تقدم Microsoft للمطورين دعمًا للمعاملات الموزعة، وتجميع الموارد، والتطبيقات غير المتصلة، ونشر الأحداث والاشتراك فيها، وإدارة أفضل للذاكرة والمعالج (الخيط)، بالإضافة إلى وضع Windows كبديل لأنظمة التشغيل الأخرى على مستوى المؤسسة، قدمت Microsoft تقنية تسمى Microsoft Transaction Server (MTS) على Windows NT 4. مع Windows 2000، تم دمج هذا الامتداد الهام لـ COM في نظام التشغيل (على عكس سلسلة الأدوات الخارجية التي توفرها MTS) وأعيدت تسميته COM + . في الوقت نفسه، تخلصت Microsoft من التركيز على DCOM ككيان منفصل. المكونات التي تستخدم خدمات COM + تمت معالجتها بشكل مباشر أكثر من خلال الطبقة المضافة من COM + ، لا سيما من خلال دعم نظام التشغيل للاعتراض. في الإصدار الأول من MTS ، تم الاعتراض على - تثبيت مكون MTS من شأنه تعديل سجل Windows لاستدعاء برنامج MTS ، وليس المكون مباشرة. قام Windows 2000 أيضًا بمراجعة تطبيق لوحة تحكم خدمات المكونات المستخدم لتكوين مكونات COM +.
تتمثل إحدى ميزات COM + في أنه يمكن تشغيله في «مزارع المكونات». يمكن تجميع مثيلات المكون، إذا تم ترميزها بشكل صحيح، وإعادة استخدامها بواسطة استدعاءات جديدة إلى روتين التهيئة الخاص بها دون تفريغها من الذاكرة. يمكن أيضًا توزيع المكونات (يتم استدعاؤها من جهاز آخر). قدم COM + وMicrosoft Visual Studio أدوات لتسهيل إنشاء وكلاء من جانب العميل، لذلك على الرغم من استخدام DCOM لإجراء مكالمة عن بُعد، كان من السهل القيام به للمطورين. قدم COM + أيضًا آلية حدث مشترك / ناشر تسمى أحداث COM + ، وقدمت طريقة جديدة للاستفادة من MSMQ (وهي تقنية توفر رسائل غير متزامنة بين التطبيقات) مع مكونات تسمى «المكونات المدرجة في قائمة الانتظار» . تعمل أحداث COM + على توسيع نموذج برمجة COM + لدعم الأحداث ذات الصلة المتأخرة (انظر الربط المتأخر) أو استدعاءات الأسلوب بين الناشر أو المشترك ونظام الأحداث.
التقنيات ذات الصلة > دوت نت

مايكروسوفت. يوفر (NET) وسائل لتوفير تقنية المكونات والتفاعل مع COM + (عبر تجميعات COM-interop)؛ . يوفر NET أغلفة لمعظم عناصر تحكم COM الشائعة الاستخدام. مايكروسوفت. تخفي NET معظم التفاصيل من إنشاء المكونات وبالتالي تسهل التطوير. . يمكن لـ NET الاستفادة من COM + عبر النظام. تم تكرار مساحة اسم Enterprise Services والعديد من الخدمات التي يوفرها COM + في الإصدارات الأخيرة من. صافي. على سبيل المثال، النظام. مساحة اسم المعاملات بتنسيق. توفر NET فئة TransactionScope ، والتي توفر إدارة المعاملات دون اللجوء إلى COM +. وبالمثل، يمكن استبدال المكونات الموجودة في قائمة الانتظار بواسطة Windows Communication Foundation(اساسيات اتصال وندوز) بنقل MSMQ. (MSMQ هو مكون COM أصلي، ومع ذلك.) يوجد دعم محدود للتوافق مع الإصدارات السابقة. يمكن استخدام كائن COM في. NET عن طريق تنفيذ Runtime Callable Wrapper (RCW). يمكن استخدام كائنات NET التي تتوافق مع قيود واجهة معينة في كائنات COM عن طريق استدعاء مجمّع COM القابل للاستدعاء (CCW). من كل من COM و. جوانب NET ، تظهر الكائنات التي تستخدم التكنولوجيا الأخرى ككائنات أصلية. انظر COM Interop . WCF (Windows Communication Foundation)) يخفف عددًا من تحديات التنفيذ عن بُعد الخاصة بـ COM. على سبيل المثال، يتيح تنظيم الكائنات بشفافية حسب القيمة عبر حدود العملية أو الجهاز بسهولة أكبر.
التقنيات ذات الصلة > وقت تشغيل وندوز

إن برمجة وتطبيقات Microsoft Windows Runtime (أو WinRT ، التي لا ينبغي الخلط بينها وبين Windows RT) هي في الأساس واجهة برمجة تطبيقات تستند إلى COM ، على الرغم من أنها تعتمد على COM محسّن. نظرًا لأساسه الشبيه بـ COM ، يسمح Windows Runtime بالتفاعل السهل نسبيًا من لغات متعددة، تمامًا كما يفعل COM ، ولكنه في الأساس واجهة برمجة تطبيقات أصلية غير مُدارة. ومع ذلك، يتم تخزين تعريفات واجهة برمجة التطبيقات في ملفات ".winmd"، والتي تم ترميزها بتنسيق البيانات الوصفية ECMA 335، وهو نفس تنسيق بيانات CLI الوصفية. يستخدم NET مع بعض التعديلات. يسمح تنسيق البيانات الوصفية الشائع هذا بتكاليف أقل بكثير من P / Invoke عند استدعاء WinRT من. NET ، وصياغتها أبسط بكثير.
التقنيات ذات الصلة > Nano-COM (المعروف أيضًا باسم XPCOM)

Nano-COM عبارة عن مجموعة فرعية صغيرة جدًا من نموذج كائن المكون الذي يركز حصريًا على جوانب واجهة التطبيق الثنائية (ABI) في COM لتمكين استدعاءات الوظيفة والطريقة عبر الوحدات / المكونات المجمعة بشكل مستقل. يمكن التعبير عن Nano-COM بسهولة في ملف رأس C ++ واحد قابل للنقل لجميع برامج التحويل البرمجي لـ C ++. يقوم Nano-COM بتوسيع ABI الأصلي لهندسة التعليمات الأساسية ونظام التشغيل لإضافة دعم لمراجع الكائنات المكتوبة (تركز ABI النموذجي فقط على الأنواع الذرية والهياكل والمصفوفات واصطلاحات استدعاء الوظائف). تم استخدام أساس Nano-COM بواسطة Mozilla لتشغيل Firefox (يسمى XPCOM)، وهو قيد الاستخدام حاليًا كتقنية ABI الأساسية لـ DirectX / Direct3D / DirectML.
يحدد ملف رأس Nano-COM أو يسمي ثلاثة أنواع على الأقل:
المعرّف الفريد العمومي (GUID) لتحديد أنواع الواجهة - وهو رقم 128 بت فعليًا
HRESULT لتحديد أكواد الخطأ من استدعاءات الطريقة - هذا استخدام معياري فعال لـ ints 32 بت إلى قيم معروفة جيدًا (S_OK ، E_FAIL ، E_OUTOFMEMORY ، إلخ)
I غير معروف كنوع أساسي لجميع مراجع الكائنات المكتوبة - هذه وظائف افتراضية مجردة بشكل فعال لدعم dynamic_cast<T> اكتساب نمط لأنواع الواجهة الجديدة shared_ptr<T>
تحدد العديد من استخدامات Nano-COM أيضًا وظيفتين لمعالجة مخازن الذاكرة المخصصة للمستدعي كنتائج
<NanoCom> Alloc - يتم استدعاؤه بواسطة تطبيقات الطريقة لتخصيص المخازن المؤقتة الأولية (وليس الكائنات) التي يتم إرجاعها إلى المتصل
<NanoCom> مجاني - يتم استدعاؤه بواسطة المتصلين بالطريقة لتحرير المخازن المؤقتة المخصصة للمستدعي مرة واحدة لم تعد قيد الاستخدام
بعض تطبيقات Nano-COM مثل Direct3D تتجنب وظائف المخصص وتقييد نفسها لاستخدام المخازن المؤقتة المخصصة للمتصل فقط.
لا يوجد لدى Nano-COM فكرة عن الفئات والشقق والتنظيم والتسجيل وما إلى ذلك. بدلاً من ذلك، يتم تمرير مراجع الكائنات ببساطة عبر حدود الوظيفة وتخصيصها عبر تركيبات اللغة القياسية (على سبيل المثال، عامل تشغيل جديد C ++).
الحماية

يتم تشغيل مكونات COM و ActiveX كرمز أصلي على جهاز المستخدم، بدون وضع الحماية. لذلك، هناك قيود قليلة على ما يمكن أن يفعله الكود. وبالتالي، أدت الممارسة السابقة المتمثلة في تضمين مكونات ActiveX على صفحات الويب باستخدام Internet Explorer إلى حدوث مشكلات مع الإصابات بالبرامج الضارة. تعرفت Microsoft على مشكلة ActiveX منذ عام 1996 عندما قال Charles Fitzgerald ، «لم نطلق أبدًا الادعاء مقدمًا بأن ActiveX آمن جوهريًا». حديث  إصدارات Internet Explorer تطالب المستخدم قبل تثبيت عناصر تحكم ActiveX ، مما يتيح للمستخدم عدم السماح بتثبيت عناصر التحكم من المواقع التي لا يثق بها المستخدم. يتم توقيع عناصر تحكم ActiveX بالتوقيعات الرقمية لضمان صحتها. من الممكن أيضًا تعطيل عناصر تحكم ActiveX تمامًا، أو السماح لقلة محددة فقط. لا يزال الدعم الشفاف لخوادم COM خارج المعالجة يعزز أمان البرامج من حيث عزل العملية . يمكن أن يكون هذا مفيدًا لفصل الأنظمة الفرعية للتطبيق الكبير في عمليات منفصلة. يحد عزل العملية من فساد الدولة في عملية واحدة من التأثير سلبًا على نزاهة العمليات الأخرى، نظرًا لأنها تتواصل فقط من خلال واجهات محددة بدقة. وبالتالي، يحتاج النظام الفرعي المتأثر فقط إلى إعادة التشغيل لاستعادة الحالة الصالحة. ليس هذا هو الحال بالنسبة للأنظمة الفرعية في نفس العملية، حيث يمكن لمؤشر مخادع في نظام فرعي واحد أن يفسد الأنظمة الفرعية الأخرى بشكل عشوائي.
تفاصيل تقنية

يقوم مبرمجو COM بإنشاء برامجهم باستخدام مكونات مدركة لـ COM. يتم تحديد أنواع المكونات المختلفة من خلال معرفات الفئة (CLSIDs)، وهي عبارة عن معرفات فريدة عالميًا (GUIDs). يعرض كل مكون COM وظائفه من خلال واجهة واحدة أو أكثر. يتم تمييز الواجهات المختلفة التي يدعمها أحد المكونات عن بعضها البعض باستخدام معرفات الواجهة (IIDs)، وهي عبارة عن معرفات GUID أيضًا. تحتوي واجهات COM على ارتباطات بعدة لغات، مثل C وC ++ و Visual Basic وDelphi وPython  والعديد من لغات البرمجة النصية المطبقة على نظام Windows الأساسي. كل الوصول إلى المكونات يتم من خلال طرق الواجهات. يسمح هذا بتقنيات مثل العمليات البينية، أو حتى البرمجة بين الكمبيوتر (تستخدم الأخيرة دعم DCOM).
تفاصيل تقنية > واجهات

تقوم جميع مكونات COM بتنفيذ واجهة IUnknown (المخصصة)، والتي تعرض طرقًا لحساب المراجع وتحويل النوع (الصب). تتكون واجهة IUnknown المخصصة من مؤشر لجدول أسلوب ظاهري يحتوي على قائمة بالمؤشرات إلى الوظائف التي تقوم بتنفيذ الوظائف المعلنة في الواجهة، بنفس الترتيب الذي تم الإعلان عنه في الواجهة. وبالتالي، فإن مقدار الحمل في العملية يمكن مقارنته باستدعاءات الطريقة الافتراضية في C ++ . بالإضافة إلى الواجهات المخصصة ، يدعم COM أيضًا واجهات الإرسال الموروثة من IDispatch . تدعم واجهات الإرسال الربط المتأخر لأتمتة OLE . يسمح ذلك بالوصول إلى واجهات الإرسال أصلاً من نطاق أوسع من لغات البرمجة مقارنة بالواجهات المخصصة .
تفاصيل تقنية > الطبقات

فئة COM ("coclass") هي تطبيق ملموس لواجهة أو أكثر، وتشبه إلى حد كبير الفئات في لغات البرمجة الموجهة للكائنات. يتم إنشاء الفئات بناءً على معرف الفئة (CLSID) أو بناءً على سلسلة المعرف البرنامجي (ProgID). مثل العديد من اللغات الموجهة للكائنات، يوفر COM فصل الواجهة عن التنفيذ. هذا التمييز قوي بشكل خاص في COM ، حيث لا يمكن الوصول إلى الكائنات مباشرة، ولكن فقط من خلال واجهاتهم. يحتوي COM أيضًا على دعم للتطبيقات المتعددة للواجهة نفسها، بحيث يمكن للعملاء في وقت التشغيل اختيار أي تطبيق للواجهة يتم إنشاء مثيل له.
تفاصيل تقنية > واجهة تعريف اللغة ونوع المكتبات

مكتبات النوع تحتوي على بيانات تعريف لتمثيل أنواع COM. يتم وصف هذه الأنواع باستخدام لغة تعريف واجهة Microsoft (MSIDL / IDL). تحدد ملفات IDL الفئات الموجهة للكائنات والواجهات والهياكل والتعدادات والأنواع الأخرى المعرفة من قبل المستخدم بطريقة مستقلة عن اللغة. يتشابه IDL في المظهر مع إعلانات C ++ مع بعض الكلمات الأساسية الإضافية مثل «واجهة» و «مكتبة» لتحديد الواجهات ومجموعات الفئات. يدعم IDL أيضًا استخدام السمات الموضوعة بين قوسين قبل الإعلانات لتوفير معلومات إضافية، مثل GUIDs للواجهة والعلاقات بين معلمات المؤشر وحقول الطول. يتم تصنيف ملفات IDL بواسطة مترجم MIDL. بالنسبة لـ C / C ++ ، ينشئ المحول البرمجي MIDL ملف رأس مستقل عن المترجم يحتوي على تعريفات بنية لمطابقة vtbls للواجهات المعلنة وملف C يحتوي على تعريفات للواجهة GUIDs . يمكن أيضًا إنشاء شفرة مصدر C ++ لوحدة وكيل بواسطة مترجم MIDL. يحتوي هذا الوكيل على كعب روتين أسلوب لتحويل مكالمات COM إلى استدعاءات الإجراءات البعيدة لتمكين DCOM للاتصالات خارج العملية. يمكن أيضًا تجميع ملفات IDL بواسطة مترجم MIDL في مكتبة النوع (TLB). تحتوي ملفات TLB على بيانات وصفية ثنائية يمكن معالجتها بواسطة مترجمي لغة مختلفين وبيئات وقت التشغيل (على سبيل المثال VB ، دلفي . NET وما إلى ذلك) لإنشاء بنيات خاصة باللغة لتمثيل أنواع COM المحددة في TLB. بالنسبة لـ C ++ ، سيؤدي ذلك إلى تحويل TLB مرة أخرى إلى تمثيل IDL الخاص به.
تفاصيل تقنية > إطار الكائن

نظرًا لأن COM هو إطار عمل وقت التشغيل، يجب أن تكون الأنواع قابلة للتحديد والتحديد بشكل فردي في وقت التشغيل. لتحقيق ذلك، يتم استخدام المعرفات الفريدة العالمية (GUIDs). يتم تعيين كل نوع COM الخاص به GUID للتعريف في وقت التشغيل. من أجل الوصول إلى معلومات حول أنواع COM في كل من وقت الترجمة ووقت التشغيل، يستخدم COM مكتبات النوع. من خلال الاستخدام الفعال لمكتبات النوع، يحقق COM قدراته كإطار عمل ديناميكي للتفاعل بين الكائنات.
ضع في اعتبارك المثال التالي لتعريف coclass في IDL:
coclass SomeClass {
 [default] interface ISomeInterface;
};
يعلن جزء التعليمات البرمجية أعلاه عن فئة COM تسمى SomeClass والتي تنفذ واجهة تسمى ISomeInterface .

هذا يعادل من الناحية المفاهيمية تحديد فئة C ++ التالية:
class SomeClass : public ISomeInterface {
 ...
 ...
};
حيث ISomeInterface هي فئة افتراضية خالصة C ++ (تسمى أحيانًا فئة أساسية مجردة).
يتم تجميع ملفات IDL التي تحتوي على واجهات وفئات COM في مكتبات النوع (TLB)، والتي يمكن تحليلها لاحقًا بواسطة العملاء في وقت التشغيل لتحديد الواجهات التي يدعمها الكائن، واستدعاء أساليب واجهة الكائن.
في C ++ ، يتم إنشاء كائنات COM باستخدام CoCreateInstance التي تأخذ معرف الفئة (CLSID) ومعرف الواجهة (IID) كوسائط. يمكن تنفيذ مثيل SomeClass على النحو التالي:
ISomeInterface* interface_ptr = NULL;
HRESULT hr = CoCreateInstance(CLSID_SomeClass, NULL, CLSCTX_ALL,
               IID_ISomeInterface, (void**)&interface_ptr);
في هذا المثال، يتم استخدام النظام الفرعي COM للحصول على مؤشر لكائن يقوم بتنفيذ ISomeInterface ، ويلزم تطبيق coclass CLSID_SomeClass لهذه الواجهة.