SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
www.karimzadeh.org 1
‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬
Farhad Karimzadeh
.NET Framework‫یک‬‫چارچوب‬‫است‬‫که‬
‫توسط‬‫شرکت‬‫مایکروسافت‬‫برای‬‫توسعه‬
‫انواع‬‫نرم‬‫افزارها‬‫علی‬‫الخصوص‬‫ویندوز‬
‫طراحی‬‫شد‬..NET Framework‫همچنین‬
‫میتواند‬‫برای‬‫توسعه‬‫نرم‬‫افزارهای‬‫تحت‬‫وب‬
‫مورد‬‫استفاده‬‫قرار‬‫بگیرد‬.‫تا‬‫کنون‬‫چندین‬
‫نسخه‬‫از‬.NET Framework‫انتشار‬‫یافته‬‫که‬
‫هر‬‫بار‬‫قابلیتهای‬‫جدیدی‬‫به‬‫آن‬‫اضافه‬‫شد‬‫ه‬
‫است‬.
www.karimzadeh.org 2
‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬
Farhad Karimzadeh
.NET Framework‫شامل‬‫کتابخانه‬‫کالس‬‫محیط‬‫کاری‬FCL‫که‬
‫در‬‫بر‬‫گیرنده‬‫کالس‬،‫ها‬‫ساختارها،داده‬‫های‬‫شمارشی‬‫و‬….
‫می‬‫باشد‬.‫مهمترین‬‫قسمت‬.NET Framework‫زبان‬‫مشترک‬
‫زمان‬‫اجرا‬CLR‫است‬‫که‬‫محیطی‬‫را‬‫فراهم‬‫می‬‫آورد‬‫که‬‫برنامه‬
‫ها‬‫در‬‫آن‬‫اجرا‬‫شوند‬.‫این‬‫چارچوب‬‫ما‬‫را‬‫قادر‬‫می‬‫سازد‬‫که‬
‫برنامه‬‫هایی‬‫که‬‫تحت‬‫آن‬‫نوشته‬‫شده‬‫اند‬‫اعم‬
‫از‬C#.Net،Visual Basic.Net‫و‬C++‫را‬‫بهتر‬‫درک‬‫کنیم‬.
‫کدهایی‬‫که‬‫تحت‬CLR‫و‬‫دات‬‫نت‬‫اجرا‬‫می‬‫شوند‬‫کدهای‬
‫مدیریت‬‫شده‬‫نامیده‬‫می‬‫شوند‬‫چون‬CLR‫جنبه‬‫های‬‫مختلف‬
‫نرم‬‫افزار‬‫را‬‫در‬‫زمان‬‫اجرا‬‫مدیریت‬‫می‬‫کند‬.‫در‬‫زمان‬‫کامپایل‬
‫کدها‬‫به‬‫زبان‬‫مشترک‬‫میانی‬CIL‫که‬‫نزدیک‬‫و‬‫تقریبا‬‫شبیه‬‫ب‬‫ه‬
‫زبان‬‫اسمبلی‬‫است‬‫ترجمه‬‫می‬‫شوند‬.
www.karimzadeh.org 3
‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬
Farhad Karimzadeh
‫ما‬‫باید‬‫کدهایمان‬‫را‬‫به‬‫این‬‫زبان‬‫ترجمه‬‫کنیم‬‫چون‬‫فقط‬‫این‬‫زبان‬‫برای‬‫دات‬
‫نت‬‫قابل‬‫فهم‬‫است‬.‫برای‬‫مثال‬‫کدهای‬C#‫و‬Visual Basic.Net‫هر‬‫دو‬‫به‬
‫زبان‬‫مشترک‬‫میانی‬CIL‫ترجمه‬‫می‬‫شوند‬.‫به‬‫همین‬‫دلیل‬‫است‬‫که‬
‫برنامه‬‫های‬‫مختلف‬‫در‬‫دات‬‫نت‬‫که‬‫با‬‫زبان‬‫های‬‫متفاوتی‬‫نوشته‬‫شده‬‫ان‬‫د‬
‫می‬‫توانند‬‫با‬‫هم‬‫ارتباط‬‫برقرار‬‫کنند‬.‫اگر‬‫یک‬‫زبان‬‫سازگار‬‫با‬‫دات‬‫نت‬‫م‬‫ی‬
‫خواهید‬‫باید‬‫یک‬‫کامپایلر‬‫ایجاد‬‫کنید‬‫که‬‫کدهای‬‫شما‬‫را‬‫به‬‫زبان‬‫میان‬‫ی‬
‫ترجمه‬‫کند‬.‫کدهای‬‫ترجمه‬‫شده‬‫توسط‬CIL‫در‬‫یک‬‫فایل‬‫اسمبلی‬
‫مانند‬.exe‫یا‬.dll‫ذخیره‬‫می‬‫شوند‬.‫کدهای‬‫ترجمه‬‫شده‬‫به‬‫زبان‬‫میانی‬‫به‬
‫کامپایلر‬‫فقط‬‫در‬‫زمان‬JIT‫منتقل‬‫می‬‫شوند‬.‫این‬‫کامپایلر‬‫در‬‫لحظه‬‫فقط‬
‫کدهایی‬‫را‬‫که‬‫برنامه‬‫در‬‫آن‬‫زمان‬‫نیاز‬‫دارد‬‫به‬‫زبان‬‫ماشین‬‫ترجمه‬‫می‬‫کن‬‫د‬.
4www.karimzadeh.org 4
‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬
Farhad Karimzadeh
‫در‬‫زیر‬‫نحوه‬‫تبدیل‬‫کدهای‬‫سی‬‫شارپ‬‫به‬‫یک‬‫برنامه‬‫اجرایی‬‫به‬‫طور‬‫خالص‬‫ه‬
‫آمده‬‫است‬:
•‫برنامه‬‫نویس‬‫برنامه‬‫خود‬‫را‬‫با‬‫یک‬‫زبان‬‫دات‬‫نت‬‫مانند‬‫سی‬‫شارپ‬‫می‬
‫نویسد‬.
•‫کدهای‬‫سی‬‫شارپ‬‫به‬‫کدهای‬‫معادل‬‫آن‬‫در‬‫زبان‬‫میانی‬‫تبدیل‬‫می‬
‫شوند‬.
•‫کدهای‬‫زبان‬‫میانی‬‫در‬‫یک‬‫فایل‬‫اسمبلی‬‫ذخیره‬‫می‬‫شوند‬.
•‫وقتی‬‫کدها‬‫اجرا‬‫می‬‫شوند‬‫کامپایلر‬JIT‫کدهای‬‫زبان‬‫میانی‬‫را‬‫در‬‫لحظه‬
‫به‬‫کدهایی‬‫که‬‫برای‬‫کامپیوتر‬‫قابل‬‫خواندن‬‫باشند‬‫تبدیل‬‫می‬‫کند‬.
5www.karimzadeh.org 5
‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬
Farhad Karimzadeh
‫دات‬‫نت‬‫ویژگی‬‫دیگری‬‫به‬‫نام‬‫سیستم‬‫نوع‬‫مشترک‬CTS‫نیز‬‫دارد‬‫که‬‫بخشی‬
‫از‬CLR‫است‬‫و‬‫نقشه‬‫ای‬‫است‬‫برای‬‫معادل‬‫سازی‬‫انواع‬‫داده‬‫ها‬‫در‬‫دات‬‫نت‬
‫با‬CTS‫نوع‬int‫در‬‫سی‬‫شارپ‬‫و‬‫نوع‬Integer‫در‬‫ویژوال‬‫بیسیک‬‫یکسان‬
‫هستند‬‫چون‬‫هر‬‫دو‬‫از‬‫نوع‬System.Int32‫مشتق‬‫می‬‫شوند‬.‫پاک‬‫کردن‬‫خانه‬
‫های‬‫بال‬‫استفاده‬‫حافظه‬‫در‬‫یک‬‫فایل‬Garbage collection‫یکی‬‫دیگر‬‫از‬
‫ویژگیهای‬‫دات‬‫نت‬‫فریم‬‫ورک‬‫است‬.
‫هنگامی‬‫که‬‫از‬،‫منابعی‬‫زیاد‬‫استفاده‬‫نشود‬‫دات‬‫نت‬‫فریم‬‫ورک‬‫حافظه‬‫استف‬‫اده‬
‫شده‬‫توسط‬‫برنامه‬‫را‬‫آزاد‬‫می‬‫کند‬.

Mais conteúdo relacionado

Semelhante a .NetFramework

آموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نتآموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نتfaradars
 
مفاهیم اولیه داکر
مفاهیم اولیه داکرمفاهیم اولیه داکر
مفاهیم اولیه داکرAli Rasoulian
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدعباس بني اسدي مقدم
 
شناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNS
شناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNSشناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNS
شناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNSMahdi Sayyad
 
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیاسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیVahid Hashemi
 
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکمجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکfaradars
 
oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsMorteza Javan
 
راه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراراه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراAmir Reza Asadi
 
Laravel - back-end framework in persian language
Laravel - back-end framework in persian languageLaravel - back-end framework in persian language
Laravel - back-end framework in persian languageOmid Khosrojerdi
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار عباس بني اسدي مقدم
 
Mohamady zahedy c#
Mohamady zahedy c#Mohamady zahedy c#
Mohamady zahedy c#danesh_fd
 

Semelhante a .NetFramework (20)

آموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نتآموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
آموزش برنامه نویسی به زبان ویژوال بیسیک دات نت
 
Introduction to Kaa IoT platform
Introduction to Kaa IoT platformIntroduction to Kaa IoT platform
Introduction to Kaa IoT platform
 
مفاهیم اولیه داکر
مفاهیم اولیه داکرمفاهیم اولیه داکر
مفاهیم اولیه داکر
 
مهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهدمهاجرت به متن باز در شرکت توزیع برق مشهد
مهاجرت به متن باز در شرکت توزیع برق مشهد
 
Ravar matrix 03 09 1398
Ravar matrix 03 09 1398Ravar matrix 03 09 1398
Ravar matrix 03 09 1398
 
شناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNS
شناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNSشناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNS
شناسایی بات نت های Fast-Flux با استفاده از تحلیل ناهنجاری DNS
 
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمیاسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
اسلاید های شروع برنامه نویسی اندروید با جاوا - مهندس سید وحید هاشمی
 
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیکمجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
مجموعه آموزش های برنامه نویسی آردوینو با محوریت پروژه های رباتیک
 
Proxmox
ProxmoxProxmox
Proxmox
 
oCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_PatternsoCCc_24_Cloud_Design_Patterns
oCCc_24_Cloud_Design_Patterns
 
راه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدوراراه اندازی مخزن در سیستم عامل فدورا
راه اندازی مخزن در سیستم عامل فدورا
 
HotSpot
HotSpotHotSpot
HotSpot
 
Soap vs restful
Soap vs  restfulSoap vs  restful
Soap vs restful
 
مقدمه ای بر F#
مقدمه ای بر F#مقدمه ای بر F#
مقدمه ای بر F#
 
Laravel - back-end framework in persian language
Laravel - back-end framework in persian languageLaravel - back-end framework in persian language
Laravel - back-end framework in persian language
 
IranOUG_Oracle_Multitenant
IranOUG_Oracle_MultitenantIranOUG_Oracle_Multitenant
IranOUG_Oracle_Multitenant
 
توسعه امن نرم افزار
توسعه امن نرم افزارتوسعه امن نرم افزار
توسعه امن نرم افزار
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
طرح چارچوب متن باز تولید نرم افزار
طرح چارچوب  متن باز تولید نرم افزار طرح چارچوب  متن باز تولید نرم افزار
طرح چارچوب متن باز تولید نرم افزار
 
Mohamady zahedy c#
Mohamady zahedy c#Mohamady zahedy c#
Mohamady zahedy c#
 

.NetFramework

  • 1. www.karimzadeh.org 1 ‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬ Farhad Karimzadeh .NET Framework‫یک‬‫چارچوب‬‫است‬‫که‬ ‫توسط‬‫شرکت‬‫مایکروسافت‬‫برای‬‫توسعه‬ ‫انواع‬‫نرم‬‫افزارها‬‫علی‬‫الخصوص‬‫ویندوز‬ ‫طراحی‬‫شد‬..NET Framework‫همچنین‬ ‫میتواند‬‫برای‬‫توسعه‬‫نرم‬‫افزارهای‬‫تحت‬‫وب‬ ‫مورد‬‫استفاده‬‫قرار‬‫بگیرد‬.‫تا‬‫کنون‬‫چندین‬ ‫نسخه‬‫از‬.NET Framework‫انتشار‬‫یافته‬‫که‬ ‫هر‬‫بار‬‫قابلیتهای‬‫جدیدی‬‫به‬‫آن‬‫اضافه‬‫شد‬‫ه‬ ‫است‬.
  • 2. www.karimzadeh.org 2 ‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬ Farhad Karimzadeh .NET Framework‫شامل‬‫کتابخانه‬‫کالس‬‫محیط‬‫کاری‬FCL‫که‬ ‫در‬‫بر‬‫گیرنده‬‫کالس‬،‫ها‬‫ساختارها،داده‬‫های‬‫شمارشی‬‫و‬…. ‫می‬‫باشد‬.‫مهمترین‬‫قسمت‬.NET Framework‫زبان‬‫مشترک‬ ‫زمان‬‫اجرا‬CLR‫است‬‫که‬‫محیطی‬‫را‬‫فراهم‬‫می‬‫آورد‬‫که‬‫برنامه‬ ‫ها‬‫در‬‫آن‬‫اجرا‬‫شوند‬.‫این‬‫چارچوب‬‫ما‬‫را‬‫قادر‬‫می‬‫سازد‬‫که‬ ‫برنامه‬‫هایی‬‫که‬‫تحت‬‫آن‬‫نوشته‬‫شده‬‫اند‬‫اعم‬ ‫از‬C#.Net،Visual Basic.Net‫و‬C++‫را‬‫بهتر‬‫درک‬‫کنیم‬. ‫کدهایی‬‫که‬‫تحت‬CLR‫و‬‫دات‬‫نت‬‫اجرا‬‫می‬‫شوند‬‫کدهای‬ ‫مدیریت‬‫شده‬‫نامیده‬‫می‬‫شوند‬‫چون‬CLR‫جنبه‬‫های‬‫مختلف‬ ‫نرم‬‫افزار‬‫را‬‫در‬‫زمان‬‫اجرا‬‫مدیریت‬‫می‬‫کند‬.‫در‬‫زمان‬‫کامپایل‬ ‫کدها‬‫به‬‫زبان‬‫مشترک‬‫میانی‬CIL‫که‬‫نزدیک‬‫و‬‫تقریبا‬‫شبیه‬‫ب‬‫ه‬ ‫زبان‬‫اسمبلی‬‫است‬‫ترجمه‬‫می‬‫شوند‬.
  • 3. www.karimzadeh.org 3 ‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬ Farhad Karimzadeh ‫ما‬‫باید‬‫کدهایمان‬‫را‬‫به‬‫این‬‫زبان‬‫ترجمه‬‫کنیم‬‫چون‬‫فقط‬‫این‬‫زبان‬‫برای‬‫دات‬ ‫نت‬‫قابل‬‫فهم‬‫است‬.‫برای‬‫مثال‬‫کدهای‬C#‫و‬Visual Basic.Net‫هر‬‫دو‬‫به‬ ‫زبان‬‫مشترک‬‫میانی‬CIL‫ترجمه‬‫می‬‫شوند‬.‫به‬‫همین‬‫دلیل‬‫است‬‫که‬ ‫برنامه‬‫های‬‫مختلف‬‫در‬‫دات‬‫نت‬‫که‬‫با‬‫زبان‬‫های‬‫متفاوتی‬‫نوشته‬‫شده‬‫ان‬‫د‬ ‫می‬‫توانند‬‫با‬‫هم‬‫ارتباط‬‫برقرار‬‫کنند‬.‫اگر‬‫یک‬‫زبان‬‫سازگار‬‫با‬‫دات‬‫نت‬‫م‬‫ی‬ ‫خواهید‬‫باید‬‫یک‬‫کامپایلر‬‫ایجاد‬‫کنید‬‫که‬‫کدهای‬‫شما‬‫را‬‫به‬‫زبان‬‫میان‬‫ی‬ ‫ترجمه‬‫کند‬.‫کدهای‬‫ترجمه‬‫شده‬‫توسط‬CIL‫در‬‫یک‬‫فایل‬‫اسمبلی‬ ‫مانند‬.exe‫یا‬.dll‫ذخیره‬‫می‬‫شوند‬.‫کدهای‬‫ترجمه‬‫شده‬‫به‬‫زبان‬‫میانی‬‫به‬ ‫کامپایلر‬‫فقط‬‫در‬‫زمان‬JIT‫منتقل‬‫می‬‫شوند‬.‫این‬‫کامپایلر‬‫در‬‫لحظه‬‫فقط‬ ‫کدهایی‬‫را‬‫که‬‫برنامه‬‫در‬‫آن‬‫زمان‬‫نیاز‬‫دارد‬‫به‬‫زبان‬‫ماشین‬‫ترجمه‬‫می‬‫کن‬‫د‬.
  • 4. 4www.karimzadeh.org 4 ‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬ Farhad Karimzadeh ‫در‬‫زیر‬‫نحوه‬‫تبدیل‬‫کدهای‬‫سی‬‫شارپ‬‫به‬‫یک‬‫برنامه‬‫اجرایی‬‫به‬‫طور‬‫خالص‬‫ه‬ ‫آمده‬‫است‬: •‫برنامه‬‫نویس‬‫برنامه‬‫خود‬‫را‬‫با‬‫یک‬‫زبان‬‫دات‬‫نت‬‫مانند‬‫سی‬‫شارپ‬‫می‬ ‫نویسد‬. •‫کدهای‬‫سی‬‫شارپ‬‫به‬‫کدهای‬‫معادل‬‫آن‬‫در‬‫زبان‬‫میانی‬‫تبدیل‬‫می‬ ‫شوند‬. •‫کدهای‬‫زبان‬‫میانی‬‫در‬‫یک‬‫فایل‬‫اسمبلی‬‫ذخیره‬‫می‬‫شوند‬. •‫وقتی‬‫کدها‬‫اجرا‬‫می‬‫شوند‬‫کامپایلر‬JIT‫کدهای‬‫زبان‬‫میانی‬‫را‬‫در‬‫لحظه‬ ‫به‬‫کدهایی‬‫که‬‫برای‬‫کامپیوتر‬‫قابل‬‫خواندن‬‫باشند‬‫تبدیل‬‫می‬‫کند‬.
  • 5. 5www.karimzadeh.org 5 ‫دات‬‫ورک‬ ‫فریم‬ ‫نت‬‫چیست؟‬ Farhad Karimzadeh ‫دات‬‫نت‬‫ویژگی‬‫دیگری‬‫به‬‫نام‬‫سیستم‬‫نوع‬‫مشترک‬CTS‫نیز‬‫دارد‬‫که‬‫بخشی‬ ‫از‬CLR‫است‬‫و‬‫نقشه‬‫ای‬‫است‬‫برای‬‫معادل‬‫سازی‬‫انواع‬‫داده‬‫ها‬‫در‬‫دات‬‫نت‬ ‫با‬CTS‫نوع‬int‫در‬‫سی‬‫شارپ‬‫و‬‫نوع‬Integer‫در‬‫ویژوال‬‫بیسیک‬‫یکسان‬ ‫هستند‬‫چون‬‫هر‬‫دو‬‫از‬‫نوع‬System.Int32‫مشتق‬‫می‬‫شوند‬.‫پاک‬‫کردن‬‫خانه‬ ‫های‬‫بال‬‫استفاده‬‫حافظه‬‫در‬‫یک‬‫فایل‬Garbage collection‫یکی‬‫دیگر‬‫از‬ ‫ویژگیهای‬‫دات‬‫نت‬‫فریم‬‫ورک‬‫است‬. ‫هنگامی‬‫که‬‫از‬،‫منابعی‬‫زیاد‬‫استفاده‬‫نشود‬‫دات‬‫نت‬‫فریم‬‫ورک‬‫حافظه‬‫استف‬‫اده‬ ‫شده‬‫توسط‬‫برنامه‬‫را‬‫آزاد‬‫می‬‫کند‬.