الدرس الثاني - اطار العمل .Net Framework - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182) +--- قسم : قسم مقالات VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=184) +--- الموضوع : الدرس الثاني - اطار العمل .Net Framework (/showthread.php?tid=4877) |
الدرس الثاني - اطار العمل .Net Framework - RaggiTech - 02-10-12 كاتب الموضوع : المخلب الجارح
اطار العمل .Net Framework هو عبارة عن اطار يغطي كل طبقات تطوير البرامج اعلى من مستوى نظام التشغيل ويعمل كبيئة تشغيلية لتنفيذ وتشغيل وادارة التطبيقات المصصمة للعمل تحت بيئتة وتوفير مكتبات موحدة للتطوير مما يسهل انتاج التطبيقات مهما تعددت اللغات .Net Framework حقيقتا يقوم تغطية او حجب نظام التشغيل اي يقوم بعزل البرامج المصممة للعمل تحت بيئتة عن نظام التشغيل وبشكل خاص في الامور التى تتعلق بادارة الملفات وتخصيص الذاكرة وقد صمم لتبسيط تطوير التطبيقات في البيئة الموزعة جدا(الانترنت) ويجهز لجعل عملة في جميع انظمة التشغيل والمكونات الاساسية لاطار عمل نت يوضح بالصور ة التالية اهداف الاطار : توفير بيئة برمجة موجهه للكائنات OOP ثابتة سواء كان التطبيق يخزن وينفذ محليا Desktop او ينفذ محليا لكن موزع على الانترنت Distributed او تنفيذ عن بعد Remote او لتزويد بيئة ذكية لادارة الذاكرة والمصادر وحل مشكلة Versioning ولجعل تجربة المطور ثابتة عبر الانواع المختلفة جدا من الطلبات مثل طلبات اساسها النوافذ والطلبات على الانترنت. كما تعمل لبناء اتصال على معايير قياسية لضمان عمل ذلك المكون مستند على اطار العمل بحيث يستطيع التكامل مع المكونات الاخرى وهو يتكون من عنصرين رئيسيين هما : 1- Common Language Runtime - CLR 2- Base class ويحتوى هيكل .Net على ما يزيد عن 3400 طبقة يمكن استخدامها في متطلباتك تمثل بعض هذة الطبقات انواع البيانات الاساسية واغلبية الطبقات مخصصة لمهام متخصصة اكثر مثل العمل بنظام الملفات وتوليد وثائق XML Common Language Runtime - CLR هو اول مكون لبنية اطار .Net Framework ويطلق علية بيئة العمل المشترك وبستخدامة يتم تنفيذ كل التطبيقات اللازمة ويتيح لك مزايا عديدة منها التعامل مع الاخطاء والامان وازالة العيوب والتناسق في ملامح البرنامج وهذة المزايا متوفرة لاي لغة مصممة لوظائف CLR وهذا يعني ان مكون CLR يستطيع استضافة عدد كبير من اللغات ويعرض مجموعات عامة من الادوات تشترك فيها جميع هذة اللغات ولقد دعمت مايكروسوفت لغات VB,C++,C# بمكونات CLR وقد سجلت الشركات اسمائها لتقديم تطبيقات للغات الاخرى مثل Perl,Python, بل وحتى Cobol . اقتباس من مقال الاخ Night Coder المشرف العام بموقع الفريق العربي : بداية الاقتباس -- البرامج التى يتم عمل Compilation لها تحت بيئة الدوت نيت لا يتم تحويلها مباشره إلى Native Code بل يتم تحويلها إلى MSIL ( Microsoft Intermediate Language ) تماماً مثل تطبيقات الجافا التى يتم تحويلها إلى Byte Code و بالتالى هذا يجعل تطبيقات الدوت نيت قابله للعمل على اى نظام تشغيل يحتوى على ال CLR بعد ذلك يتم تحويل كود ال MSIL إلى Native Code بواسطة مترجم وقت التنفيذ (Just In Time Compiler ) تحويل الكود إلى MSIL شئ ممتع فهو يجعلك تعمل تحت منصة الدوت نيت باستخدام لغتك المفضله (التى يجب ان تدعم تحويل الكود إلى MSIL ) يبقى شئ يجب ان نوضحه هنا و هو ان الكود الذى يتم تنفيذه تحت بيئة الدوت نيت يسمى managed code و يسمى كذلك لانه يستخدم ململم النفايات GC لتحرير الذاكره من الكائنات الغير مستخدمه و ما غير ذلك فيسمى unmanaged code دعنا نوضح النقطه السابقه الخاصه بكيفية تنفيذ ال managed code بشئ من التفصيل كما ذكرنا فان ال CLR هى المسئوله عن تحميل المجمعات (Assemblies) و الكائنات (Objects) الخاصه بتطبيقك فى الذاكره ... بعد ان يتم تحميل الكود و يبدأ تنفيذه تستمر ال CLR فى العمل لمراقبة تنفيذ ال managed code خاصتك لتقدم له الخدمات الموجوده بالشكل الموضح اعلاه ايضاً لكى تتاكد من ان برنامجك يعمل فى بدون اى عوامل خارجيه تؤثر على عمله ماذا بعد ان تنتهى دورة حياة تطبيقك ؟ تقوم ال CLR بتحرير الذاكره من كائنات تطبيقك باستخدام ميكانيكيه داخليه تسمى ال Garbage Collector او ململم النفايات (مثل تطبيقات جافا) قبل ان يبدأ ال CLR فى هذه المكانيكيه فهو يقوم بتحميل نفسه فى ال Windows Hosting Process دعنا نلقى نظره عن قرب من هذه العمليه المترجمات التى تدعم ال managed code مثل VB.NET مثلاً تقوم باضافة ترويسة (Header) تقوم بتوليد managed assembly file هذا الملف يجعل نظام التشغيل ويندوز يقوم اوتوماتيكياً بتحميل ملف MSCOREE.DLL الذى يقوم ببدأ جلسة عمل لل CLR لتطبيقك عن طريق تحميل ملف MSCORWKS.DLL نهاية الاقتباس-- Base classes او مايسمى بفضاء الاسماء NAMESPACE Class Library تعتبر المكون الثاني لاطار .Net Framework وهي المكتبات المساعدة والتى تساعد المبرمجين لانشاء التطبيقات وتحتوي بيئة الدوت نت على الالف منها وهي موزعة في مجموعات هرمية بهيكل .NET وعلى سبيل المثال كل الفئات التي تعمل مع نظام الملفات تجمع في تفرع الاسماء IO.System ويمكنك ان تشير الى أي فئة بشكل معين في هيكل Net وذلك بكتابة اسم الفئة ثم اسم التفرع على سبيل المثال للاشارة الى تفرع الملفات في الفئة IO.System يمكنك ان تستخدم التفرع IO.System.File وهكذا يتم التعامل مع كل الفئات الباقية. ومن اهم الفئات فئات التعامل مع Database access Data Structures Input/Output Windows and Web Controls وغيرها الكثير والكثير وهنالك فئة مهمة جدا خصوصا لبرمجة صفحات الويب باستخدام ASP.NET وكل الطبقات التى تتعلق بهيكلها توجد تحت الفئة System.Web Assemblies ملفات المكتبات الطبقات في هيكل ال .Net تجمع في ملفات تسمي Assemblies ومن المهم عدم الخلط بين الملفات Assemblies وبين الفئات فالملف Assemblies هو الملف او الملفات الفعلية التى تحتوي على الكود للطبقات الفئات على سبيل المثال كل الطبقات في الفئة System.IO تقع في الملف Mscorlib.dll وهو الملف الفعلي الموجود على قرص التخزين عنوان الدرس القادم التعرف على واجهة الفيجوال بيسك دوت نت والسلام عليكم ورحمة الله |