المكتبات القياسية (CLI)

تُعدّ المكتبات القياسية مجموعة من المكتبات القياسية المُضمّنة في البنية التحتية للغة المشتركة (CLI) لتغليف العديد من الوظائف الشائعة، مثل قراءة الملفات وكتابتها، ومعالجة مستندات XML ، ومعالجة الاستثناءات ، وعولمة التطبيقات ، والتواصل عبر الشبكة، والترابط ، والانعكاس ، مما يُسهّل عمل المبرمج. وهي أوسع نطاقًا بكثير من المكتبات القياسية لمعظم اللغات الأخرى، بما في ذلك C++ ، وتُضاهي في نطاقها وتغطيتها المكتبات القياسية للغة Java .
المكتبات القياسية هي مكتبة الفئة الأساسية (BCL)، ومكتبة البنية التحتية لوقت التشغيل (كلاهما جزء من ملف تعريف النواة)، ومكتبة الشبكة، ومكتبة الانعكاس، ومكتبة XML (التي تشكل مع المكتبتين المذكورتين أولاً ملف التعريف المضغوط)، ومكتبة المصفوفة الموسعة، والمكتبة المتوازية، ومكتبة النقطة العائمة، ومكتبة Vararg.
تُعد مكتبة فئات الإطار (FCL) هي التنفيذ الأصلي للمكتبات القياسية حيث أن إطار عمل .NET، الذي يتضمنها، هو أول تنفيذ لواجهة سطر الأوامر (CLI).
تنتمي المكتبات القياسية بشكل أساسي إلى مساحة الاسم System.*. كما توفر مايكروسوفت ، مطورو منصة .NET، مكتبات امتداد رسمية في Microsoft.*و Microsoft.Extensions.*، على الرغم من أنها ليست جزءًا من مكتبة .NET القياسية الرسمية. [ 1 ]
الملفات الشخصية
تُصنَّف المكتبات القياسية الرئيسية ضمن ملفين قياسيين: ملف النواة، والملف المضغوط. [ 2 ] أما المكتبات القياسية التالية فلا تنتمي إلى أي ملف: مكتبة المصفوفات الموسعة، ومكتبة العمليات العددية الموسعة، ومكتبة المعالجة المتوازية، ومكتبة الوسائط المتغيرة. [ 3 ] [ 4 ] [ 5 ] [ 6 ]
ملف تعريف النواة
ملف تعريف النواة هو مجموعة فرعية من ملف التعريف المضغوط. يحتوي ملف تعريف النواة على مكتبة الفئات الأساسية (BCL) ومكتبة البنية التحتية لوقت التشغيل. [ 7 ]
تصميم صغير الحجم
يحتوي الملف التعريفي المضغوط على تلك المكتبات الموجودة في ملف تعريف النواة بالإضافة إلى مكتبة الشبكة ومكتبة الانعكاس ومكتبة XML. [ 8 ]
المكتبات
مكتبة الفئات الأساسية
مكتبة الفئات الأساسية هي مكتبة تشغيل بسيطة للغات البرمجة الحديثة. وهي بمثابة المكتبة القياسية لتشغيل لغة C#، بالإضافة إلى كونها إحدى المكتبات القياسية لواجهة سطر الأوامر (CLI). توفر هذه المكتبة أنواعًا لتمثيل أنواع البيانات المضمنة في واجهة سطر الأوامر، وإمكانية الوصول البسيط إلى الملفات، والخصائص المخصصة، وخصائص الأمان، ومعالجة النصوص، والتنسيق، والجداول، والمجموعات، وغيرها. [ 9 ] وتُعرّف أنواع البيانات في مساحات الأسماء التالية:
| اسم | وصف |
|---|---|
System | يُحدد هذا Objectالقسم الفئة التي تُشتق منها جميع كائنات النوع المرجعي (بما في ذلك كائنات النوع القيمي)، والفئة ValueTypeالتي تُشتق منها جميع كائنات النوع القيمي . كما يُحدد أنواع البيانات الأساسية مثل الأعداد الصحيحة ، والأعداد العشرية ، والأحرف ، والسلاسل النصية ، والقيم المنطقية ، والتعدادات ، وغيرها. ويوفر دعمًا للبيئة والمنصة، وواجهة سطر أوامر ، بالإضافة إلى فئات أساسية للاستثناءات والخصائص . ويُحدد أيضًا المصفوفات والمفوضين ، والدوال الرياضية، والعديد من الأنواع الأخرى. |
System.Collections | يحدد العديد من أنواع الحاويات الشائعة المستخدمة في البرمجة، مثل القواميس ، وجداول التجزئة ، والقوائم ، وقوائم الانتظار ، والمكدسات . |
System.Collections.Generic | يُعرّف الأنواع العامة لأنواع الحاويات في مساحة System.Collectionsالاسم. |
System.Diagnostics | يُعرّف هذا النظام أنواعًا تُتيح إمكانية تشخيص التطبيقات. ويشمل ذلك تسجيل الأحداث ، وعدادات الأداء، والتتبع ، والتفاعل مع عمليات النظام. |
System.Globalization | يحدد أنواعًا تحدد المعلومات المتعلقة بالثقافة، بما في ذلك اللغة والبلد/المنطقة والتقاويم المستخدمة وأنماط تنسيق التواريخ والعملة والأرقام وترتيب فرز السلاسل النصية. |
System.IO | يُحدد هذا النوع أنواع البيانات التي تُمكّن من القراءة والكتابة إلى تدفقات بيانات مختلفة ، مثل الملفات أو تدفقات البيانات الأخرى . كما يوفر اتصالاً بنظام الملفات . |
System.Security | يحدد أنواعًا تمثل نظام الأمان والأذونات. |
System.Security.Permissions | يحدد أنواعًا تتحكم في الوصول إلى العمليات والموارد بناءً على السياسة. |
System.Text | يحدد أنواعًا تدعم ترميزات الأحرف المختلفة والتعبيرات النمطية وآلية أكثر كفاءة لمعالجة السلاسل النصية. |
System.Threading | يُعرّف أنواعًا تُمكّن البرمجة متعددة الخيوط . |

مكتبة البنية التحتية لوقت التشغيل
توفر مكتبة البنية التحتية لوقت التشغيل الخدمات اللازمة للمترجم لاستهداف واجهة سطر الأوامر، والآليات اللازمة لتحميل الأنواع ديناميكيًا من دفق بتنسيق ملف محدد. [ 10 ] وهي تُعرّف الأنواع في مساحات الأسماء التالية:
| اسم | وصف |
|---|---|
System | يحدد أنواع مجال التطبيق والمؤشرات والمقابض والمزيد . |
System.Reflection | يُعرّف هذا النوع أنواعًا توفر عرضًا مُدارًا للأنواع والأساليب والحقول المُحمّلة، والتي يمكنها إنشاء الأنواع واستدعائها ديناميكيًا. وتُعد هذه الأنواع ذات صلة بوقت تشغيل البرنامج . |
System.Runtime.CompilerServices | يحدد أنواعًا توفر وظائف لكتاب المترجمات الذين يستخدمون التعليمات البرمجية المُدارة لتحديد السمات في البيانات الوصفية التي تؤثر على سلوك وقت التشغيل لنظام التنفيذ الافتراضي . |
System.Runtime.InteropServices | يحدد الأنواع التي تدعم خدمات استدعاء النظام الأساسي (P/Invoke). |
مكتبة الشبكة
توفر مكتبة الشبكة خدمات شبكات بسيطة، بما في ذلك الوصول المباشر إلى منافذ الشبكة ودعم بروتوكول HTTP. [ 11 ] وهي تُعرّف أنواعًا في مساحات الأسماء التالية:
| اسم | وصف |
|---|---|
System | يحدد أنواعًا توفر تمثيلًا كائنيًا لمعرف الموارد الموحد (URI) وسهولة الوصول إلى أجزاء من URI. |
System.Collections.Specialized | يُعرّف هذا المصطلح المجموعات المتخصصة والمجموعات ذات الأنواع القوية؛ على سبيل المثال، قاموس القائمة المرتبطة، ومتجه البت، والمجموعات التي تحتوي على سلاسل نصية فقط. |
System.Net | يُعرّف أنواعًا توفر واجهة برمجة بسيطة لعدد من بروتوكولات الشبكة . |
System.Net.Sockets | يحدد هذا النوع الذي يوفر تطبيقًا مُدارًا لواجهة Windows Sockets (Winsock) للمطورين الذين يحتاجون إلى التحكم بشكل دقيق في الوصول إلى الشبكة. |
مكتبة التأمل
توفر مكتبة الانعكاس إمكانية فحص بنية الأنواع، وإنشاء نسخ منها، واستدعاء توابعها، وذلك استنادًا إلى وصف النوع. [ 12 ] وهي تُعرّف الأنواع في مساحات الأسماء التالية:
| اسم | وصف |
|---|---|
System | يُعرّف نوع void ، وهو نوع قيمة الإرجاع لطريقة لا تُرجع قيمة. |
System.Globalization | يُعرّف هذا النوع معلوماتٍ حول ثقافةٍ مُحددة (تُسمى لغةً محليةً في تطوير البرامج غير المُدارة). تشمل هذه المعلومات أسماء الثقافة، ونظام الكتابة، والتقويم المُستخدم، وتنسيق التواريخ وسلاسل الفرز. |
System.Reflection | يحدد أنواعًا توفر عرضًا مُدارًا للأنواع والأساليب والحقول المحملة، والتي يمكنها إنشاء الأنواع واستدعائها ديناميكيًا. |
System.Security.Permissions | يُحدد هذا النوع أنواعًا تتحكم في الوصول إلى العمليات والموارد بناءً على السياسة. وتُعد هذه الأنواع ذات صلة بعملية الانعكاس . |
مكتبة XML
توفر مكتبة XML محللًا بسيطًا لـ XML يعمل بنظام "السحب". وهي مصممة للأجهزة ذات الموارد المحدودة، ومع ذلك توفر نموذج مستخدم بسيطًا. [ 13 ] وهي تُعرّف أنواعًا في نطاق الأسماء التالي.
| اسم | وصف |
|---|---|
System.Xml | يحدد أنواع معالجة XML . |
مكتبة Windows Presentation Foundation
لدى مايكروسوفت مساحة اسم لفئات تطبيقات Windows Presentation Foundation (WPF).
| اسم | وصف |
|---|---|
System.Windows | يُعرّف فئات لتطبيقات WPF. |
مكتبة المصفوفات الموسعة
توفر مكتبة المصفوفات الموسعة دعمًا للمصفوفات غير المتجهة، أي المصفوفات التي تحتوي على أكثر من بُعد واحد أو المصفوفات التي لها حدود دنيا غير صفرية. [ 3 ] لا تضيف مكتبة المصفوفات الموسعة أي أنواع إضافية، ولكنها تُوسّع آلية معالجة المصفوفات. [ 14 ]
مكتبة الأرقام الموسعة
توفر مكتبة الأرقام الموسعة دعمًا لأنواع البيانات ذات الفاصلة العائمة (System.Single ، System.Double ) وأنواع البيانات ذات الدقة الموسعة (System.Decimal ) . ومثل مكتبة الفئات الأساسية، تتم الإشارة إلى هذه المكتبة مباشرةً في معيار لغة C#. [ 4 ]
المكتبة المتوازية
توفر مكتبة التوازي إمكانية التوازي بسهولة للمبرمجين غير المتخصصين، بحيث يمكن الاستفادة من وحدات المعالجة المركزية متعددة الخيوط. [ 5 ]
مكتبة فاراج
توفر مكتبة Vararg الدعم للتعامل مع قوائم الوسائط ذات الطول المتغير. [ 6 ]
انظر أيضاً
مراجع
- ↑ "معرض نوجيت" . www.nuget.org.
- ↑ "IV.3 الملفات التعريفية القياسية" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 437.
- 1 2 "IV.5.8 مكتبة المصفوفات الموسعة" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 441.
- 1 2 "IV.5.7 مكتبة الأرقام الموسعة" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 441.
- 1 2 "IV.5.10 مكتبة متوازية" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 441.
- 1 2 "IV.5.9 مكتبة Vararg" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 441.
- ↑ "IV.3.1 ملف تعريف النواة" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 437.
- ↑ "IV.3.2 الملف التعريفي المُختصر" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 437.
- ↑ "IV.5.3 مكتبة الفئات الأساسية (BCL)" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 440.
- ↑ "IV.5.2 مكتبة البنية التحتية لوقت التشغيل" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 440.
- ↑ "IV.5.4 مكتبة الشبكة" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 440.
- ↑ "IV.5.5 مكتبة الانعكاس" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 440.
- ↑ "IV.5.6 مكتبة XML" . معيار ECMA-335 - البنية التحتية للغة المشتركة (CLI) (تقرير فني) ( الطبعة السادسة). إيكما الدولية . يونيو 2012. ص 440.
- ↑ كينغ، جيسون؛ إيستون، مارك (2004). "الفصل 4: تحليل إطار عمل .NET". في: غيلمور، جيسون (محرر). تطوير .NET متعدد المنصات: استخدام Mono وPortable.NET وMicrosoft .NET . دار نشر Apress . ص 110. ISBN 1-59059-330-8. إل سي سي إن 2004018339 .
روابط خارجية
- إيكما الدولية، معيار ECMA-335، البنية التحتية للغة المشتركة (CLI)، الطبعة السادسة (يونيو 2012). مؤرشف في 15 يناير 2021 على موقع Wayback Machine .
- إيكما الدولية، التقرير الفني TR/84، البنية التحتية للغة المشتركة (CLI) - المعلومات المستمدة من ملف XML للقسم الرابع، الطبعة السادسة (يونيو 2012). مؤرشف في 27 نوفمبر 2020 على موقع Wayback Machine .
- البنية التحتية للغة المشتركة
