
دات نت چیست؟
دات نت مجموعه امکانات برنامه نویسی مایکروسافت است. این تکنولوژی از کنار هم قرار گرفتن اجزای مختلف بوجود آمده است. هریک از این اجزا، وظیفه ای خاص برعهده دارند. از مدیریت فضاهای حافظه تا اطمینان از امنیت و صحت اجرای دستورات. با استفاده از دات نت می توان برای توسعه برنامه های Windows App، Web App و انواع سرویس ها استفاده کرد. همچنین دات نت امکاناتی از قبیل:
- محیط یکپارچه و مبتنی بر ساختار OOP
- فراهم کردن محیط اجرای برنامه های توسعه داده شده
- تضمین ایجاد ارتباطات بر مبنای استاندارد های صنعتی برای تسهیل integrate شدن برنامه های مبتنی با MS.NET با هر ساختار دیگری از کد
- و …
را فراهم می کند. همچنین دات نت به شکلی طراحی شده که برنامه نویسان بتوانند از دانسته های خود به سادگی در توسعه طیف وسیعی از برنامه ها از Windows App گرفته تا Web Service ها استفاده کنند. همچنین این ساختار امکان یکپارچگی تجربیات را در توسعه برنامه های مختلف فراهم می آورد. در اینجا لازم است یادآور شویم که دات نت چه چیزی نیست:
- دات نت زبان برنامه نویسی نیست.
- دات نت محیط برنامه نویسی نیست.
- دات نت راه حل مسائل و نیازهای مشتری نیست.
- اجرای برنامه های دات نت صرفا بر محدود به سیستم عامل های Microsoft نمی شود.
برای تاینکه بدانید دات نت چیست و چگونه عمل می کند، کافی است ادامه این مطلب را به دقت بخوانید.
آشنایی با ساختار و اجزاء دات نت
دات نت در حالت کلی از دو بخش اصلی تشکیل شده است:
- Common Language Runtime یا CLR
- Base Class Library یا BCL

CLR یا Common Language Runtime
این بخش از تکنولوژی دات نت، وظیفه Compile کردن برنامه های دات نتی را بر عهده دارد. در این فرآیند، .NET Compiler دستورات را به MSIL تبدیل می کند. MSIL یا زبان سطح میانی مایکروسافت، ساختار زبانی خاصی است که برای هیچ پردازنده ای قابل درک نیست. برای همین حین اجرای برنامه های دات نتی، بخش دیگری از CRL فعال می شود. JIT Compiler کد های MSIL را درست در زمان اجرای برنامه ی دات نتی، به Binary مناسب برای پردازنده تبدیل می کند. همین ویژگی باعث می شود یک برنامه قابلیت اجرا بر روی هر سیستمی را دارا باشد. البته توجه داشته باشید، وجود دات نت برای اجرای برنامه های مبتنی بر دات نت، الزامی است.
Garbage Collection بخش دیگری از CLR است. این بخش وظیفه بررسی و آزاد سازی فضاهای بلااستفاده حافظه را بر عهده دارد. عملا مدیریت حافظه Heap بر عهده Garbage Collection می باشد.

BCL یا Base Class Library
این بخش از تکنولوژی دات نت، شامل امکانات و Data Type های مختلف می باشد. در واقع امکاناتی که در توسعه برنامه های مختلف از جمله:
- ابزار های توسعه برنامه های مبتنی بر وب
- امکانات دسترسی به منابع داده
- امکانات توسعه سرویس ها، میکروسرویس ها و API ها
- ابزارهای توسعه برنامه های متداول Desktop
- امکانات توسعه برنامه های موبایل
- و …
بکار می روند. این امکانات در قالب Data Type ها و در گروه هایی به نام Namespace طبقه بندی شده اند.



