الدوت نت المختصر المفيد

السلام عليكم ورحمة الله وبركاته ,سأتكلم باختصار عن نظام عمل الدوت  نت :

اولا أحب ان اوضح نقطة مهمة ستسهل الموضوع الى اقصى درجة ,الواجهة البرمجية او Application Programming Interface API  ,شرح بسيط لهذه النقطة ,حسنا ,انت معك جوال ,الجوال يعمل بنظام تشغيل ,وانت تريد عمل برنامج او لعبة لتعمل على نظام التشغيل هذا ,يوفر لك صانع نظام التشغيل ما يعرف ب API  وهى مجموعة من الاكواد البرمجية التى يستطيع من خلالها برنامجك او لعبتك ان تتفاعل مع السماعات الخاصة بالجوال ,او شاشة اللمس , او الازرار ,فانت تكتب برنامجك ليتم تشغيله بواسطة نظام التشغيل بمساعدة هذه ال API  المقدمة من صانع النظام ,الآن عرفت معنى API

اذا ما هو نظام عمل الدوت نت ؟

يمكنك ان تفكر بالدوت نت ك API  فوق نظام التشغيل ويندوز ,فهو يسهل عليك التعامل مع نظام التشغيل واصدار اوامر للوحة المفاتيح او الطابعة او السماعات …الخ .

مكوناته

قبل أن نعرف ما هو ال CLR يجب أن نعرف ان الدوت نت يدعم عدة لغات برمجية مثل الفى بى دوت نت والسى شارب والسى بلس بلس دوت نت ,…الخ ,اذا كيف يدعم الدوت نت كل هذه اللغات ؟ هل هناك مفسر Compiler  لكل هذه اللغات ؟

لا ليس الأمر كذلك ,يتم ترجمة هذه اللغات الى لغة وسيطة هى Microsoft Intermediate Language MSIL وحاليا تسمى Common Intermediate Language CIL,بحيث ان كل هذه اللغات يتم تحويلها الى نفس اللغة الوسيطة والتى ليست بالطبع لغة الآلة .عن طريق مفسر خاص بكل لغة .

الآن ما هو الCLR  ؟

هو محرك تشغيل الدوت نت ,والذى يعمل على تحويل اللغة الوسيطة الى لغة الآلة عن طريق المفسر عند الطلب Just In Time compiler  او JIT compiler  ولننظر لهذه الصورة

ايضا ال CLR مسؤول عن تنظيم الذاكرة Memory Management  فهو الذى يقوم بوضع المتغيرات البرمجية Variables  و الكائنات Objects  فى الذاكرة وتغيير قيمها حسب الشفرة التى تكتبها .

أيضا يحتوى على ما يعرف ب Garbage Collector GC ,فمثلا عندما تضع متغيرات وكائنات فى الذاكرة فانها تستهلك قدر من الذاكرة واذا لم تعد تحتاجها فى برنامجك فلن تقوم بحذف نفسها ,فأنت الذى وضعتها وأنت الذى يجب ان تحذفها من الذاكرة ,يأتى هنا دور ال GCفهى اراحتك من هذه المشكلة ,فلست فى حاجة ان تقوم بحذفها يدويا ,فهى تمسح من الذاكرة على فترات كل المتغيرات التى لا تحتاجها داخل برنامجك.

ايضا ال CLR مسؤول عن الأمان Security  ,فمثلا على نظام تشغيل ويندوز يوجد دائما Admin Account  او حساب المدير و Limited Account  او حساب محدود ,الحساب المدير له صلاحيات عديدة بينما المحدود له صلاحيات قليلة او على حسب ما تعطيه من صلاحيات ,فمثلا ليس من صلاحية الحساب المحدود تنصيب البرامج ,وليس من صلاحيته تشغيل البرامج الغير مسموح له بها , مثال آخر فى مجال شبكات الشركات مثلا ,نجد ان بعض العملاء Clients  ليست لهم صلاحيات تنصيب برامج ,او تشغيل برامج معينة وبرامج أخرى ممنوعة ,يتحكم فى هذا الويندوز طبعا ولكن داخل برنامجك يمكنك الاستفادة من هذه الصلاحيات عن طريق ربط برنامجك لمعرفة من المستخدم الذى يعمل الآن ,وهل له صلاحيات وتتعامل على هذا الأساس .

ايضا مسؤول عن Exception Handling  او التحكم فى الآخطاء ,فهناك أخطاء تظهر بعد تشغيل البرنامج مثلا صنعت متغير من نوع رقم صحيح ثم وضعت فيه حروف,هذا سيتسبب فى توقف برنامجك الا اذا قمت بعمل تحكم فى ذلك انه اذا حدث خطأ كذا فافعل كذا .

ايضا مسؤول عن أشياء اخرى ولكن هذه نظرة سريعة .

نأتى الى ال .NET Class Library او مكتبة الدوت نت يمكنك ان تتصورها ككبشة من الشفرات Bunch of Codes  وهذه من أهم الاشياء التى بنى عليها الدوت نت ,فبدلا من أن تكتب شفرة للاتصال بقاعدة بيانات من أولها وتقوم بكتابة شفرة للتعامل مع الشبكة و شفرة للتعامل مع وسائل الادخال والاخراج ,قامت ميكروسوفت بكل هذا ونظمت لك الاكواد فى مكتبة فليس عليك ان تقوم بكتابة كود كتبه غيرك من قبل .طبعا هذه ليست دعوة للكسل ولكن دعوة لعدم اضاعة الوقت .

نذكر فقط ان الدوت نت يعمل فقط على نظام تشغيل ويندوز وان هناك مشروع يسمى مونو يحاكى الدوت نت ويعمل على لينكس,ماك وويندوز .

حول أحمد حسان
Senior IT Specialist @ German Hospital of Alexandria ,Co-Developed Medxpress ,Hospital ERP system ,Microsoft Certified Solution Developer

اترك رد

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s

%d مدونون معجبون بهذه: