در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش سی شارپ (#C) قسمت 3 : آشنایی با .NET Framework یک

با سلام خدمت همراهان همیشگی انجمن تخصصی فناوری اطلاعات ایران. بعد از یک وقفه 1 ماه و نیمه با بخش سوم آموزش زبان سی شارپ در خدمت شما هستیم. قبل از هر چیز بابت تاخیر به وجود آمده از کلیه دوستان عذرخواهی می کنم.در ادامه سری آموزشی سی شارپ، به بررسی ساختار .NET Framwork خواهیم پرداخت. مواردی که در این بخش مطرح می شوند، بیشتر جنبه تئوریک دارند، اما یادگیری مباحث به ما کمک میکنه که درک درستری از محیطی که قصد داریم با اون کار کنیم داشته باشیم. به دلیل زیاد بودن مطالب این بخش، در دو یا سه بخش ارائه خواهند شد.در این بخش مطالبی که مطرح خواهند شد به شرح زیر هستند:

  1. تاریخچه .NET Framework
  2. مروری بر ساختار کلی دات نت و سرویس های آن
  3. آشنایی با ساختار CLR و کاربرد آن
  4. نحوه کار JIT در اجرای برنامه های دات نت
  5. اجرای مدیریت شده برنامه ها و مدیریت حافظه در دات نت
  6. برخی ابزارهای کاربردی در دات نت

تاریخچه .NET Framework

افرادی که قبل از عرضه .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. نسخه 1.0 در سال 2002
  2. نسخه 1.1 در سال 2003
  3. نسخه 2.0 در سال 2005
  4. نسخه 3.0 در سال 2006
  5. نسخه 3.5 در سال 2007
  6. نسخه 4.0 در سال 2010
  7. نسخه 4.5 در سال 2012
  8. نسخه 4.5.1 در سال 2013
  9. نسخه 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 قلب تپنده دات نت هست. برای درک بهتر ساختار دات نت به تصویر زیر توجه کنید:

آموزش سی شارپ (#C) قسمت 3 : آشنایی با .NET Framework یک

در ابتدای تصویر بالا زبان هایی قرار دارند که شما می توانید بوسیله آنها برنامه های خود را مبتنی بر دات بنویسید. برنامه های تحت وب، ویندوز، موبایل، سرویس های وب و ...، در مرحله بعد، کتابخانه دات نت قرار داره. این کتابخانه مجموعه ای از کدهای از پیش نوشته شده است که نوشتن کدها رو برای شما راحت تر می کنه. بعد از کتابخانه، 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 تحت دات نت می باشد:

  1. CLS یا Common Language Specification
  2. CTS یا Common Type System
  3. TS یا Type Safety
  4. IL یا Intermediate Language

در این قسمت به اولیه .NET Framework و ساختار اون پرداختیم. در بخش بعدی به بررسی سرویس ها و خصوصیات CLR، نحوه اجرای کدها در دات نت و سرویس JIT، اجرای مدیریت شده کدها و مدیریت حافظه در دات نت خواهیم پرداخت.

نویسنده : حسین احمدی

منبع : جزیره برنامه نویسی وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

#آموزش_دات_نت #آموزش_زبان_سی_شارپ #آموزش_سی_شارپ #فریم_ورک_دات_نت #دوره_آموزشی_سی_شارپ #آموزش_برنامه_نویسی #زبان_برنامه_نویسی_سی_شارپ
عنوان
1 آموزش سی شارپ (#C) قسمت 1 : مقدمه رایگان
2 آموزش سی شارپ (#C) قسمت 2 : ابزارهای مورد نیاز دوره رایگان
3 آموزش سی شارپ (#C) قسمت 3 : آشنایی با .NET Framework یک رایگان
4 آموزش سی شارپ (#C) قسمت 4 : آشنایی با .NET Framework دو رایگان
5 آموزش سی شارپ (#C) قسمت 5 : آشنایی با محیط ویژوال استودیو رایگان
6 آموزش سی شارپ (#C) قسمت 6 : ساختار برنامه ها و کامپایلر سی شارپ رایگان
7 آموزش سی شارپ (#C) قسمت 7 : دستورات کنسول و متغیرها رایگان
8 آموزش سی شارپ (#C) قسمت 8 : نوع های داده اولیه رایگان
9 آموزش سی شارپ (#C) قسمت 9 : آشنایی با عملگرها رایگان
10 آموزش سی شارپ (#C) قسمت 10 : دستورات کنترلی و حلقه ها یک رایگان
11 آموزش سی شارپ (#C) قسمت 11 : دستورات کنترلی و حلقه ها دو رایگان
12 آموزش سی شارپ (#C) قسمت 12 : دستورات کنترلی و حلقه ها سه رایگان
13 آموزش سی شارپ (#C) قسمت 13 : دستورات کنترلی و حلقه ها چهار رایگان
14 آموزش سی شارپ (#C) قسمت 14 : آشنایی با آرایه ها و دستور For Each رایگان
15 آموزش سی شارپ (#C) قسمت 15 : آشنایی با متدها یک رایگان
16 آموزش سی شارپ (#C) قسمت 16 : آشنایی با متدها دو رایگان
زمان و قیمت کل 0″ 0
5 نظر
محمد نصیری

نویسنده و منبع مقاله کجاست دوست من ؟

حسین احمدی

اضافه شد دوست من :دی

فرهاد خانلری

Base Class Library شامل کلاس‌های پایه در دات نت فریم‌ورک می‌باشد

تمامی زبان های دات نتی نظیر #C#، VB.Net و... که تعدادشون هم کم نیست جهت اجرای برنامه های خود نیاز به بسته دات نت فریم ورک دارند.

دات نت فریم ورک درون خود دارای بخش هایی است که مدیریت برنامه شما را به عهده خواهند گرفت. مانند CLR یا Common Language Runtime که قلب اصلی دات نت فریم ورک به شمار می رود.

همچنین BCL یا Base Class Library که به کتابخانه دات نت نیز معروف است و شامل دات نت اسمبلی های و کلاس های بسیار زیاد نوشته شده توسط ماکروسافت می باشد که می توانید از وجود آن ها در برنامه استفاده کنید خیلی ها میگن BCL یه دشتی از اسمبلی های موجود هست که قبلاً مایکروسافت اونا رو نوشته و ما میتونیم بار ها و بارها تو برنامه هامون از اینا استفاده کنیم

هر زبان برنامه نویسی مبتنی بر دات نت فریم ورک پس از کمپایل شدن توسط کمپایلر مخصوص به خود به زبان واسطی به نام IL یا Intermediate Language تبدیل می شود.

پس از این مرحله و یک سری مراحل دیگه کد شما به باینری تبدیل شده و روی سیستم مقصد اجرا می گردد.

فرهاد خانلری

ممنونم دوست خوبم

مهندس احمدی عزیز

فقط خواهشا ادامه دار باشه این آموزش ها و ضمن اینکه اگه ممکنه لینک آموزش های قبلی رو در هر آموزش جدید اضافه کنید.

حسین احمدی

ممنون فرهاد جان، یک ماه قبل خیلی درگیر بودم، به همین خاطر وقفه افتاد. به امید خدا آموزش ها با ریتم منظم تو سایت قرار داده میشه.

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....