منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
الدرس الثاني - اطار العمل .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 وهو الملف الفعلي الموجود على قرص التخزين




عنوان الدرس القادم
التعرف على واجهة الفيجوال بيسك دوت نت
والسلام عليكم ورحمة الله