| عنوان مقاله: |
چارچوب دات نت
(NET Framework.) |
| مترجم: |
سيامک |
| تاريخ: |
بهمن 82 |
| مرجع: |
Developing Web Applications, Microsoft Press |
| فايل همراه: |
ندارد |
چارچوب "دات نت" (.NET Framework)
(ترجمه: سيامک ، سايت برنامه نويس ايراني . از بحث در مورد مطالب اين مقاله در
محيط هاي بحث برنامه نويس ايراني استقبال ميشود.
کليه حقوق اين ترجمه براي سايت برنامه نويس ايراني محفوظ است. ذکر
مقاله با درج نام و آدرس دقيق اينترنتي سايت برنامه نويس ايراني در ابتداي
مقاله مجاز است.)
چارچوب دات نت (.NET Framework)، سکوي برنامه نويسي جديد ميکروسافت براي تهيه
برنامه هاي ويندوز و "وب" است و از دو قسمت مهم تشکيل گرديده است.
1- يک موتور اجرا (execution engine) که مانند موتور جاوا برنامه هاي اجرايي دات نت
تحت آن اجرا ميگردند و به نام اجرا کننده زبان مشترک (common language runtime,
CLR) خوانده ميشود.
2- يک کنابخانه کلاسهاي برنامه نويسي که توابع ا صلي برنامه نويسي شامل توابع
سيستمي که قبلا توسط Windows API در دسترس قرار ميگرفتند ، توابع برنامه نويسي وب
(ASP.NET) ، توابع دسترسي به داده ها (ADO.NET) ، امنيت و مديريت از راه دور را در
بر ميگيرد.
برنامه هاي دات نت همانند برنامه هاي مرسومي که شما عادت به ساختن و نوشتن آنها
داشتيد اجرا نميگردند. برنامه هاي دات نت برخلاف برنامه هاي مرسوم که با کامپايل ،
به کد زبان ماشين قابل اجرا توسط ميکروپروسسور (native code) تبديل ميشدند ، اينبار
به يک زبان مياني به نام "زبان مياني ميکروسافت" (Microsoft Intermediate Language
MSIL) ترجمه ميشوند. کدهاي مياني در فايلهايي به نام Assembly (آنرا با زبان اسمبلي
اشتباه نگيريد) ذخيره ميگردند که اين فايلها با پسوندهاي DLL و exe قابل اجراي دات
نت ميباشند. اين کد ها بصورت مستقيم توسط ريزپرداز کامپيوتر قابل اجرا نميباشند و
در هنگام اجرا ابتدا تحويل موتور اجرا کننده زبان مشترک يا CLR که قبلا در مورد آن
اشاره کرديم ميگردند. CLR کد مياني فايلهاي Assembly را در همان هنگام اجرا و بصورت
همزمان با آن به کد زبان ماشين قابل اجرا توسط ميکروپروسسور ترجمه کرده و تحت نظارت
خود اجرا ميکند. نظارت CLR در هنگام اجرا شامل مديريت حافظه ، کنترل صحت نوع
متغيرها (type safety check) و مسائل ديگر ميگردد. تصوير زير نحوه انجام اين مراحل
را نشان ميدهد.

برنامه هايي که توسط و تحت CLR اجرا ميشوند برنامه هاي مديريت شده (managed code)
ناميده ميشوند زيرا CLR بيشتر کارهايي را که قبلا در داخل کد برنامه انجام ميشد را
بعهده ميگيرد و همچنين برنامه تحت مراقبت CLR اجرا ميگردد. کد مديريت شده بسياري از
مشکلات برنامه نويسي تحت ويندوز را حل ميکند از جمله ثبت اجزاء (Component
Registration) و نسخه بندي ( که مشکل نسخ متفاوت از DLL ها و توابع مختلف در نسخ
مختلف يک DLL را بوجود مي آورد و به نام جهنم DLL ها مشهور شده بود) را حل ميکند
زيرا يک اسمبلي Assembly علاوه بر کد شامل اطلاعات لازم براي نسخه بندي نيز ميباشد
و ديگر لازم نيست اين اطلاعات در رجيستري مانند آنچه در مدل اجزاء COM مرسوم بود ،
ذخيره گردد. همچنين در يک سيستم بطور همزمان ميتوان چندين نسخه از يک اسمبلي را با
توانايي ها و محتويات متفاوت داشت بدون اينکه مشکل تلاقي آنها با هم پيش بيايد.
کتابخانه کلاسها امکان دسترسي به تمام امکانات CLR را فراهم ميکند. کتابخانه
کلاسهاي دات نت با استفاده از فضاهاي نام (namespaces) تقسيم بندي گرديده است. هر
فضاي نام شامل توابع مرتبط با يک قابليت يا موضوع خاص است.جدول زير تعدادي از
فضاهاي نام مهم مورد استفاده را معرفي مينمايد.
|
طبقه بندي |
فضاي نام (Namespace) |
کلاسهاي فراهم شده |
|
نوعهاي عمومي |
System |
کليه نوع هاي داده عمومي شامل رشته ها و نوعهاي عددي.
اين کلاسها شامل توابعي براي تبديل نوعها ، دستکاري رشته ها و آرايه ها،
رياضيات و اعداد تصادفي ميشوند. |
|
دسترسي به داده ه |
System.Data, System.Data.Common, System.Data.OleDb,
System.Data.SqlClient, System.Data.SqlTypes |
دسترسي به پايگاههاي اطلاعاتي شامل کلاسهايي که امکان
اتصال به پايگاههاي داده ، اجراي دستورات برروي پايگاههاي داده ، دريافت و
تغيير داده ها |
|
يافتن خط |
System.Diagnostics |
اجراو يافتن خطاهاي برنامه |
|
دسترسي به فايله |
System.IO, System.IO.IsolatedStorage, System.DirectoryServices |
دسترسي به فايل سيستم شامل خواندن ، نوشتن فايلها
دريافت مسيرفايلها و ليست فايلها و از اين قبيل |
|
ارتباطات شبکه |
System.Net, System.Net.Sockets |
ارتباطات برروي اينترنت از طريق پروتکل هاي سطح پايين
شامل TCP/IP وکلاسهايي براي
ساختن برنامه هاي peer-to-peer |
|
امنيت |
System.Security, System.Security.Cryptography,
System.Security.Permissions, System.Security.Policy, System.Web.Security |
شناسايي کاربر، کنترل دسترسي کاربر ، رمزنمودن اطلاعات |
|
برنامه هاي تحت وب |
System.Web, System.Web.Caching, System.Web.Configuration,
System.Web.Hosting, System.Web.Mail, System.Web.SessionState,
System.Web.UI, System.Web.UI.Design, System.Web.UI.WebControls,
System.Web.UI.HtmlControls |
کلاسهاي لازم براي ساختن برنامه هاي کلاينت – سرور که
به شکل وب اجرا ميگردند. اين کلاسها هسته برنامه هاي کاربردي
ASP.NET را شامل ميگردند. |
|
وب سرويسه |
System.Web.Services, System.Web.Services.Configuration,
System.Web.Services.Description, System.Web.Services.Discovery,
System.Web.Services.Protocols |
ساختن و انتشار اجزائي که قابل استفاده از روي اينترنت
ميباشند. اين کلاسها شامل هسته لازم براي ساختن "وب سرويسها" با استفاده از
ASP.NET ميگردند. |
|
برنامه هاي تحت ويندوز |
System.Windows.Forms, System.Windows.Forms.Design |
ساختن برنامه هاي تحت ويندوز با استفاده از اجزاء رابط
کاربر ويندوز . اين کلاسها امکان استفاده از فرمهاي ويندوزي ، اجزاء
ويندوزي و ساختن اجزاء را فراهم مينمايند. |
|
داده هاي XML |
System.Xml, System.Xml.Schema, System.Xml.Serialization,
System.Xml.Xpath, System.Xml.Xsl |
ساختن و دسترسي به فايلهاي XML |
از آنجائيکه فضاهاي نام در دات نت بر اساس کارآيي توابع و کلاسها دسته بندي
گرديده است ، يافتن توابع مربوط به توانايي مورد نظر شما در CLR بسيار راحت تر
گرديده است. براي مثال فضاي نام سيستم که يکي از مهمترين و پر استفاده ترين فضاهاي
نام موجود در دات نت ميباشد ، شامل کلاسهايي براي اعمال مهم بر روي نوعها شامل رشته
ها و نوعهاي عددي ميگردد. هرگاه که متغييري عددي ، رشته اي يا ازنوع آرايه تعريف
ميکنيد درواقع از فضاي نام System استفاده مينماييد.
اين خط مشي به چارچوب دات نت توانايي داشتن توابع داخلي براي تبديل نوعها و دستکاري
رشته ها و آرايه ها را بطور موثر تر داده است. براي مثال خطوط کد آمده در زير
متدهاي داخلي کلاسهاي رشته و آرايه را براي مرتب سازي يک ليست مورد استفاده قرار
ميدهند
Visual Basic .NET:
' Declare and initialize a string.
Dim strFruit As String = "oranges apples peaches kumquats nectarines mangos"
' Declare an array.
Dim arrFruit As String()
' Place each word in an array element
arrFruit = strFruit.Split(" ")
' Sort the array.
System.Array.Sort(arrFruit)
' Put the sorted data back in the string.
strFruit = String.Join(" ", arrFruit)
Visual C#:
// Declare and initialize a string.
string strFruit = "oranges apples peaches kumquats nectarines mangos";
// Declare an array
string[] arrFruit;
// Place each word in an array element.
arrFruit = strFruit.Split(" ".ToCharArray());
// Sort the array.
System.Array.Sort(arrFruit);
// Put the sorted array back in the string.
strFruit = System.String.Join(" ", arrFruit);
تعداد زيادي از متد هاي کلاسهاي مربوط به فضاي نام System بدون ساختن يک شيئي
(object) از روي کلاس ، قابل استفاده ميباشند. اين متد ها در Visual Basic.NET
اعضاي اشتراکي و در Visual C# اعضاي ثابت (Static Members) ناميده ميشوند. اعضاي
ثابت با استفاده از نام کلاس بطور مستقيم قابل فراخواني ميباشند. مثالي از اين
مسئله را در کد بالا در خطي که از System.Array.Sort استفاده ميکند ، ديديد. مثال
ديگري از اين مسئله در استفاده از متد هاي Pow و Pi در زير نشان داده شده است.
Visual Basic .NET
' Get the area of a circle.
dblCircArea = System.Math.Pi * System.Math.Pow(intRadius, 2)
Visual C#
// Get the area of a circle.
dblCircArea = System.Math.PI * System.Math.Pow(intRadius, 2);
دات نت استفاده از قابليت هاي کلاسها را با حذف مرحله ساختن شيئي از کلاسهاي داراي
عضو ثابت يا اشتراکي ( توجه داشته باشيد که همه کلاسها عضو ثابت ندارند ) آسان تر
کرده است.
چارچوب دات نت حدود 100 فضاي نام مختلف را در بر ميگيرد. از اين تعداد فقط 40 فضاي
نام مهم در جدول فوق بطور خلاصه معرفي گرديده اند. براي ديدن ليست کاملي از اين
کلاسها ميتوانيد به موضوع “Class Library” در راهنماي محيط برنامه نويسي دات ت
(Visual Studio .NET) مراجعه کنيد.
زبانهاي برنامه نويسي
چارچوب دات نت از زبان برنامه نويسي مستقل است. اين بدين معني است که شما براي
نوشتن يک برنامه دات نت ميتوانيد از هر زباني که کامپايلر سازگار با CLR دارد
استفاده کنيد. مايکروسافت علاوه بر ارائه زبانهاي برنامه نويسي خود با توليد
کنندگان زبانهاي ديگر مانند دلفي ، پرل ، ايفل ، کوبول ، پيتون ، اسمال تاک و...
براي پشتيباني آن زبانها همکاري کرده است.
در حال حاضر زبانهاي Visual Basic .NET و Visual C# مرسومتر از بقيه زبانها هستند.
اين دو زبان قابليت هاي مشابهي را براي ساختن برنامه هاي وب و ويندوز ارائه ميکنند.
بيشتر تفاوتهاي اين دو زبان در کلمات کليدي بکار رفته ميباشند.
بدينترتيب برنامه نويسان ميتوانند زباني را انتخاب کنند که با آن بيشتر آشنا هستند.
برنامه نويساني که هم اکنون با Visual Basic آشنايي دارند با برنامه نويسي Visual
Basic .NET راحت تر خواهند بود و برنامه نويسان C و C++ با زبان Visual C# احساس
راحتي بيشتري خواهند کرد.
اگر شما بتازگي ميخواهيد برنامه نويسي را فرا بگيريد و يا تصميم به يادگيري يک زبان
جديد براي افزايش توانايي هايتان گرفته ايد ، يادگيري C# و VB.NET هردو اهدافي
کاملا عملي ميباشند.
مرجع :
Microsoft Press, Developing Web Applications with Visual Basic.NET and Visual
C#.NET
در صورتيکه سوالاتي در مورد هرکدام از مقالات اين بخش داريد سوال خودرا در تابلوهاي بحث و تبادل نظر برنامه نويس ايراني مطرح نماييد.
(ح) کليه حقوق مربوط به مقالات منتشر شده در اين سايت براي سايت برنامه نويس ايراني و نويسنده
يا مترجم مقاله محفوظ ميباشد. انتشار مقالات تنها با ذکر مرجع و تنها با اجازه کتبي سايت برنامه نويس ايراني مجاز ميباشد.
|