داتنت فريم ورك چگونه كار ميكند؟
موضوع : دات نت
نویسنده : امين صفايي
خلاصه : داتنت امكانات متنوعي را در اختيار برنامهنويسي ما قرار ميدهد تا براي كامپيوترهاي شخصي و موبايلها سيستمهاي قدرتمندي بنويسيم. از مزاياي داتنت اين است كه برنامهها و دستگاهها را با استفاده از استانداردهايي همچون XML ،HTTP ،SOAP يكپارچه ميسازد.
داتنت نرمافزاري است كه به ما امكان ميدهد براي محيطهاي گوناگون برنامهنويسي كنيم. از برنامههاي تحت وب گرفته تا وبسرويسها و برنامههاي تحت ويندوز. از ديگر ويژگيهاي اين پلتفرم اين است كه ميتوان با استفاده از آن اطلاعات را بين برنامههاي مختلف و دستگاههاي ديگر جابهجا نمود.
داتنت سالها است كه يكي از پلتفرمهاي قدرتمند برنامهنويسان است با اين حال نكاتي درباره فريموركداتنت وجود دارد كه ممكن است تا به حال به آنها نياز پيدا نكرده باشيد، ولي دانستن اين نكات خالي از لطف نيست.
هدف اين مقاله، بررسي برخي از اصول و آشنايي با امكاناتي از داتنت است كه مطمئناً ديد شما را نسبت به برنامهنويسي با آن عوض خواهد كرد و پس از خواندن اين مقاله با ديدي علميتر برنامههاي خود را مينويسيد.
در ابتداي اين مقاله ابتدا معماري داتنت مورد بررسي قرار خواهد گرفت و نقش فريموركداتنت در داتنت مشخص خواهد شد.
شکل1- کامپوننتهاي داتنت در بخش بعدي، زبان مشترك در داتنت كه همان CLR است، مورد بررسي قرار خواهد گرفت. پس از آن چگونگي مديريت خودكار حافظه در داتنت مورد بحث قرار خواهد گرفت. پس از آن اسمبلي، پيكربندي، امنيت و ابزارهاي داتنت مورد بررسي قرار خواهد گرفت. در آخر نيز با ذكر يك مثال عملي چگونگي ايجاد يك اسمبلي قدم به قدم آموزش داده خواهد شد.
قابل اشاره است كه در اين مقاله از مثالهاي آزمون شركت مايكروسافت MCAD/MCSD 70-310.70-320استفاده شده است. همچنين در اين مقاله هر وقت از داتنت نام برده شده، منظور NET Framework. است.
نكته اول: معماري داتنت
داتنت امكانات متنوعي را براي برنامهنويسي در اختيار ما قرار ميدهد تا براي كامپيوترهاي شخصي و موبايل كامپيوترها سيستمهاي قدرتمندي بنويسيم. از مزاياي داتنت اين است كه برنامهها و دستگاهها را با استفاده از استانداردهايي همچون XML ،HTTP ،SOAP يكپارچه ميسازد.
همچنين داتنت زيربناي كنترلي از راهدور را براي ما فراهم ميسازد كه به ما اجازه ميدهد برنامهها را در پروسههاي مختلف و روي كامپيوترهاي مجزا اجرا كنيم و اطلاعات را با استفاده از باينري و پروتكل HTTP جابهجا سازيم.
شکل2- معماري کلي داتنت ابزارهايي كه دات در اختيار ما قرار ميدهد، عبارت است از:
- وبسرويسها
-NET Server Infrastructure.
- نرمافزارهاي Smart Client
- Visual Studio .NET
شكل 1 كامپوننتهاي داتنت را نشان ميدهد همانطور كه در اين شكل مشاهده ميكنيد، هسته مركزي XML Web Service است كه به برنامه كلاينت اجازه ميدهد اطلاعاتش را با سرور يا كلاينتهاي ديگر مبادله كند.
NET Framework. در حقيقت ساختار زيربنايي براي ساختن برنامههاي داتنت است.
مدل برنامهنويسي NET Framework. مدلي شيءگرا است. براي ساخت برنامهاي در داتنت ابتدا كلاس اصلي آن را ميسازيم.
سپس عملكرد آن را در قالب متدهاي آن كلاس قرار ميدهيم. نكته مهمي كه در اينجا بايد به آن اشاره نمود اين است كه كلاسي كه مثلاً با كدهاي C#.NET نوشته شده است، ميتواند به راحتي به VB.NET تغيير يابد.
شکل3 ECMA يا European Computer Manufactures Association، زبان عمومي، شامل نقشهايي براي اين تبديل شدن كدها و قابليت Interoperability، را به نام CLR يا Common Language Runtime تعيين كرده است. از آن جايي كه كدهايي كه با CLR هماهنگ هستند، موقع كامپايل به كدهايي به نام IL يا Intermediate Language تبديل ميشوند (و اين كدها هستند كه در واقع اجرا ميشوند). كدهاي برنامههايي كه با CLR سازگار هستند، ميتوانند به كدهاي ديگر زبانهايي كه با CLR هماهنگ هستند تبديل ميشود.
زبانهايي كه با CLR هماهنگ هستند، عبارتند از:
- Microsoft Visual Basic.NET
- #Microsoft Visual C
- Microsoft Visual C++.NET
- Microsoft Visual J# .NET
شايان ذكر است كه در بين اين زبانها #C بهعنوان زبان استاندارد بينالمللي توسط ECMA معرفي شده است.
كدهايي كه با اين زبانها نوشته ميشوند، همه به كدهاي مياني به نام MSIL يا Microsoft Intermediate Language تبديل ميشوند.
پس ميتوان با هر يك از زبان هاي بالا برنامه را آماده كرد و اين برنامه ميتواند با برنامههاي ديگري كه به زبان متفاوت ديگري نوشته شده است، سازگار باشد.