(آموزش سی شارپ) قسمت دوم-آشمایی با NET Feramework وساختار آن(بخش اول)
افرادی که قبل از عرضه .NET Framework کار برنامه نویسی
انجام داده باشند، با مفهومی به نام COM آشنایی دارند. COM یا Component
Object Model تکنولوژی بود که مایکروسافت برای نوشتن برنامه های تحت ویندوز
ارائه داده بود. اگه با Visual Basic نسخه 6 به قبل برنامه نوشته باشید با
این تکنولوژی آشنایی دارید. COM این قابلیت رو به اجزای مختلف نرم افزار
میداد که با همدیگه ارتباط داشته باشند. نوشتن کامپوننت های Re-Usable و
لینک کردن بخش های مختلف نرم افزار به همدیگه از کاربرد های COM بود. زبان
هایی مثل C++، Visual Basic قابلیت استفاده از COM رو فراهم می کردند. اما
برنامه نویسانی که از COM استفاده می کردند مشکلاتی هم روبروشون قرار داشت.
برای مثال، مدیریت حافظه یکی از مسائلی بود که برنامه نویس ها باهاش درگیر
بودند. همچنین مشکلات فایل های DLL و استفاده از این فایل ها در سیستم
مقصد از دیگر مشکلات تکنولوژی COM بود که در ادامه سری مقالات به تفصیل در
مورد مسائل COM و راه حل های .NET خواهیم پرداخت. در سال 1990 مایکروسافت
پروژه دات نت رو برای رفع مشکلات COM استارت زد و در سال 2002 به صورت رسمی
.NET رو ارائه داد. در حقیقت .NET Framework لایه ای هست که بر روی روی
COM قرار گرفته و دسترسی به سرویس های ویندوز و کامپوننت های اون و راحت تر
کرده. تا این لحظه نسخه های زیر از دات نت ارائه شده:
- نسخه 1.0 در سال 2002
- نسخه 1.1 در سال 2003
- نسخه 2.0 در سال 2005
- نسخه 3.0 در سال 2006
- نسخه 3.5 در سال 2007
- نسخه 4.0 در سال 2010
- نسخه 4.5 در سال 2012
- نسخه 4.5.1 در سال 2013
- نسخه 4.5.2 در سال 2014
نسخه مورد استفاده در این سری، نسخه آخر یعنی 4.5.2 هست که به همراه Visual Studio 2013 ارائه شده.
مروری بر ساختار کلی دات نت و سرویس های آن
.NET Framework از دو بخش اصلی تشکیل شده، کتابخانه دات نت یا .NET Framework Class Library و Common Language Runtime یا CLR.
کتابخانه دات نت مجموعه ای از کلاس های آماده از پیش نوشته شده است که در تمامی زبان های مبتنی بر .NET قابل استفاده هستند.
اما CLR وظیفه اجرا و مدیریت برنامه های تحت دات نت رو داره. تبدیل کدهای IL به کد ماشین، کنترل و مدیریت اجرای برنامه ها، مدیریت حافظه و کنترل و مدیریت امنیت در برنامه های دات نت از وظایف CLR هست. در حقیقت میشه گفت CLR قلب تپنده دات نت هست. برای درک بهتر ساختار دات نت به تصویر زیر توجه کنید:
در ابتدای تصویر بالا زبان هایی قرار دارند که شما می توانید بوسیله آنها برنامه های خود را مبتنی بر دات بنویسید. برنامه های تحت وب، ویندوز، موبایل، سرویس های وب و ...، در مرحله بعد، کتابخانه دات نت قرار داره. این کتابخانه مجموعه ای از کدهای از پیش نوشته شده است که نوشتن کدها رو برای شما راحت تر می کنه. بعد از کتابخانه، CLR قرار داره که وظیفه تبدیل کدهای شما به زبان ماشین و اجرای برنامه ها رو به عهده داره. در پایین ترین لایه، سرویس های ویندوز قرار داره که وظیفه ارتباط با این لایه، به عهده CLR و کتابخانه دات نت هست.
آشنایی با نقش .NET Framework
همانطور که در بالا اشاره شد، دات نت از دو بخش اصلی یعنی کتابخانه دات ت و CLR تشکیل شده است. CLR پایه و مبنای دات نت می باشد. وظایف CLR رو به اختصار در بالا مطرح کردیم که در این دوره به تفصیل به بررسی سرویس های آن خواهیم پرداخت.
اما کتابخانه دات نت، همانطور که اشاره شد، مجموعه ای از کدهای Reusable (کدهایی که یکبار نوشته شده و قابلیت استفاده مجدد را دارند) می باشند که در اختیار برنامه نویسان دات نت قرار گرفته اند. از این کدها می تواند در کلیه برنامه های دات نت، از برنامه های Console گرفته تا برنامه های ویندوز، وب، ارتباط با بانک های اطلاعاتی و سرویس های وب و ویندوز استفاده کرد.
اما یکی از اصطلاحات در دات نت CLS یا Common Language Specification هست. موسسه European Computer Manufacturers Assoscian یا ECMA، استانداردی رو تدوین کرده که CLS مبتنی بر این استاندارد پیاده سازی شده است. در حقیقت CLS استانداردی هست که با رعایت این استاندارد، کلیه زبان های برنامه نویسی مبتنی بر دات نت، قابلیت ارتباط با یکدیگر را خواهند داشت. برای مثال زبان های VB.NET و C# دو زبان مبتنی بر دات نت هستند. زمانی که شما کدی را با زبان C# نوشته اید، با CTS این قابلیت به شما داده میشه که بتونید از کد نوشته شده در زبان C# در زبان VB.NET نیز استفاده کنید.
کدهایی که با استاندارد CLS تطابق داشته باشند، بعد از کامپایل به یک کد میانی به نام IL ترجمه می شوند، کد IL کدی شبیه به کد Assembly هست. بعد از ایجاد کد IL توسط کامپایلر، کد IL توسط CLR به کد ماشین ترجمه شده و اجرا می شود. در حقیقت بعد از کامپایل کردن دو برنامه که یکی به زبان C# و دیگری به زبان VB.NET نوشته شده، کدی که ایجاد می شود کد IL هست.
کدی میانی که توسط کامپایلرهای مبتنی بر دات نت ایجاد می شوند Microsoft Intermediate Language یا MSIL نام دارند که به برنامه ها قابلیت برقراری ارتباط با یکدیگر را می دهد.
استاندارد دیگری که توسط ECMA تدوین شده، استاندارد CLI یا Common Language Infrastructre هست. این استاندارد یک سری خصوصیات مشترک در بین کدهای میانی ایجاد شده توسط کامپایلرها رو تعریف میکند که برای اجرای کد IL به آنها نیاز است. برای مثال سیستم نوع داده مشترک (Common Type System) یا سرویس های از قبیل Type Safety و اجرای مدیریت شده کدها از خصوصیات تدوین شده هستند. لیست زیر خلاصه ای از استاندارد های ECMA تحت دات نت می باشد:
- CLS یا Common Language Specification
- CTS یا Common Type System
- TS یا Type Safety
- IL یا Intermediate Language
منبع:programming.itpro.ir
- ۹۶/۰۱/۰۸