کتابخانه کلاس فريمورک دات نت ( Net Class library .) ، زمينه استفاده از امکانات و ويژگي هاي Runtime را فراهم و باعث تسهيل در پياده سازي برنامه هاي مبتني بر دات نت مي گردد . در اين راستا ، پياده کنندگان مي توانند با ايجاد توابعي از کلاس هاي موردنظر خود ، کلاس ها را توسعه نمايند .کتابخانه کلاس دات نت ، فريمورک دات نت را پياده سازي مي نمايد . تمامي برنامه ها ( برنامه هاي وب ، ويندوز و سرويس هاي وب XML ) از کتابخانه کلاس هاي فريمورک دات نت بصورت يکسان استفاده مي نمايند .اين کلاس ها در namespace نگهداري ( ذخيره ) مي گردند. تمامي زبانهاي مبتني بر دات نت نيز به کتابخانه يکساني دستيابي دارند . در مجموعه مقالاتي که در اين زمينه ارائه خواهد شد به بررسي اين کتابخانه بزرگ خواهيم پرداخت .
فراموش نکنيم که :
کنابخانه کلاس فريمورک دات نت ، عنصري حياتي و ضروري براي ايجاد برنامه هاي مبتني بر دات نت است .
تمامي نرم افزارهاي توليد شده در فريمورک دات نت از CLR)Common Language runtimr ) ، استفاده مي نمايند. حتي ساده ترين برنامه مبتني بر CLR ، نيازمند استفاده از بخش هائي از کتابخانه کلاس فريمورک دات نت، خواهد بود . اکثر نرم افزارهاي توليد شده در دات نت از مجموعه زيادي از سرويس هاي ارائه شده توسط کتابخانه فوق ، استفاده مي نمايند. بمنظور شناخت مناسب فريمورک دا ت نت ، لازم است که با پتانسيل هاي ارائه شده توسط کتابخانه کلاس فريمورک دات نت، بيشتر آشنا شويم .
مروري بر کتابخانه کلاس فريمورک دات نت
کتابخانه کلاس فريمورک دات نت ، بصورت يک ساختار سلسله مراتبي و متشکل از namespace است . هر namespace مي تواند شامل نوع هائي نظير : کلاس ، اينترفيس و يا ساير namespace هاي زيرمجموعه ( فرزند) باشد . namespace ريشه، System نام دارد و هر برنامه مبتني بر فريمورک دات نت از برخي از نوع هاي موجود در آن ، استفاده خواهد کرد. System ، بمنزله مادر تمامي کلاس هاي ديگر در کتابخانه است.
فراموش نکنيم که :
کتابخانه داراي يک ساختار سلسله مراتبي و شامل namespace است .
کتابخانه کلاس فريمورک دات نت بسيار بزرگ است . بنا به اظهار نظر ماکرو سافت ، هزاران متخصص طي چندين سال بر روي دات نت ، فعاليت نموده و چيزي را ايجاد کرده اند که امروز ما شاهد آن هستيم . تعداد زيادي از متخصصين فوق ، مسئول طراحي و پياده سازي اين کتابخانه کلاس بوده اند . اغلب پياده کنندگان براي آشنائي و بکارگيري قابليت هاي دات نت ، مي بايست شناخت مناسبي نسبت به کتابخانه کلاس فريمورک دات نت داشته باشند . خوشبختانه ، ضرورتي به فراگيري تمام کتابخانه کلاس وجود نخواهد داشت . هر پياده کننده که در محيط دات نت کار مي نمايد ، مي بايست در ابتدا مشخص نمايد که به کدام بخش از اين محيط بزرگ ، نياز داشته و در ادامه ، اقدام به فراگيري بخش ها ي مربوطه نمايد. هر پياده کننده نرم افزار در دات نت مي بايست شناخت مناسبي در رابطه با namespace هاي ضروري و مورد نياز خود داشته باشد .
System Namespace
Namespace فوق ، مادر تمام کتابخانه کلاس فريمورک دات نت است . اين namespace داراي مجموعه اي وسيع از namespace هاي فرزند است . namespace فوق داراي طيف گسترده اي از نوع ها است . برخي از اين نوع ها عبارتند از :
• نوع هاي اساسي تعريف شده توسط سيستم CTS)Common Type System) مربوط به CLR ، شامل نوع هاي Int16 ,Int32 , Char,Boolean و ساير نوع هاي استاندارد بهمراه نوع هاي مرجعي نظير : Array و Delegates است .
• کنسول ( Console) ، کلاس فوق، متدهاي Readline و WriteLine و موارد ديگري را ارائه مي نمايد.
• Math ، اين کلاس داراي تعدادي زيادي عضو بوده و روش هاي استانداردي بمنظور محاسبه : علامت يک عدد ، کسينوس ، لگاريتم و نظاير اينها را ارائه مي نمايد. ( توابع عمليات متداول رياضي ) . مثلا" مي توان از متد Sqrt ، بمنظور محاسبه ريشه دوم يک عدد استفاده کرد .
• Enviroment ، از کلاس فوق ، بمنظور دستيابي به اطلاعات مربوط به محيط برنامه در حال اجراء ، استفاده مي گردد . يک برنامه مي تواند از دايرکتوري جاري ، نوع سيستم عاملي که بر روي آن اجرا شده و ميزان حافطه استفاده شده و مواردي مشابه ، آگاه گردد .
• GC ، کلاسي است که از آن بمنظور نحوه و زمان Garbage Collection ، استفاده مي گردد . با فراخواني متد Collect کلاس فوق ، يک برنامه مي تواند باعث آغاز سريع فرآيند Garbage Collection گردد. ( موضوع فوق، ايده ئي جالب نخواهد بود ، چراکه CLR ، نسبت به زماني که مي بايست Garbage Collection تحقق يابد ، شناخت کاملتري دارد .) .
• Random . از کلاس فوق ، بمنظور محاسبه اعداد شبه تصادفي استفاده مي گردد ( ساير اعضاء ) .
فراموش نکنيم که :
System ، بمنزله namespace ريشه در کتابخانه کلاس فريمورک دات نت ، مطرح مي باشد .
به استثناي نوع هاي پايه CLR ، ساير نوع هاي موجود در System ، بنظر مجبور به استقرار در محل فوق شده اند چراکه عملا" نمي توان namespace مناسبتري را براي آنان در نظر گرفت .نوع هاي فوق ، در مجموعه گسترده اي از برنامه ها قابل استفاده خواهند بود.
Namespace هاي فرزند System
System ، داراي تعداد زيادي Namespace فرزند است . برخي از آنان نيز داراي فرزندان مربوط بخود باشند. جدول زير ساختار سلسله مراتبي برخي از namespace هاي مهم ، را نشان مي دهد.
System |
| Collections |
| | Specialized | |
| ComponentModel |
| | Design | |
| Configuration |
| | Assemblies | |
| | Install | |
| Data |
| | OleDb | |
| | SqlClient | |
| Diagnostics |
| DirectoryServices |
| Drawing |
| | Drawing2D | |
| | Imaging | |
| | Printing | |
| | Text | |
| EnterpriseServices |
| Globalization |
| IO |
| Management |
| Messaging |
| Net |
| | Sockets | |
| Reflection |
| | Emit | |
| Resources |
| Runtime |
| | CompilerServices | |
| | InteropServices | |
| | Remoting | |
| | Serialization | |
| Security |
| | Cryptography |
| | | X509Certificates |
| | | Xml |
| | Permissions | |
| | Policy | |
| | Principal | |
| ServiceProcess |
| Text |
| | RegularExpressions | |
| Threading |
| Timers |
| Web |
| | Services | |
| | UI | |
| Windows |
| | Forms | |
| Xml |
| | Schema | |
| | Serialization | |
| | XPath | |
| | Xsl | |
در ادامه به بررسي برخي از namespace هاي خواهيم پرداخت .
System.Collections ، شامل نوع هائي براي ايجاد و کار با جداول hash ، بردارها ، صف ها ، پشته ها ، ليست ها و ساير ساختمان داده هاي مفيد است . اين نوع ها بصورت کاملا" عمومي تعريف شده اند .مثلا" کلاس هاي پشته و صف بگونه اي تعريف شده اند که شامل اشياء بعنوان اعضاي خود باشند . اين بدان معني است که آنها مي توانند شامل مقاديري از هر نوع CTS ( سيتم نوع ها ) باشند. نظير ساير امکانات موجود در کتابخانه کلاس فريمورک دات نت ،نوع هاي فوق ، مي توانند از طريق هر زبان مبتني بر CLR ، استفاده گردند. اين Namespace ، همچنين شامل namespace هاي فرزند خود است . مثلا" System.Collection.Specialized ، نوع هائي را براي کاربردهائي خاص نظير يک مجموعه از رشته ها ارائه مي نمايد.
فراموش نکنيم که :
System.Collections ، نوع هاي عمومي نظير پشته و صف را تعريف مي نمايد.
System.ComponentModel ، شامل نوع هائي براي ايجاد انواع متفاوتي از عناصر مبتني بر فريمورک دات نت مي باشد. ازجمله نوع هائي که در namespace فوق ، وجود دارد مي توان به کلاس Component ، اشاره کرد . از کلاس فوق ، بعنوان عنصري پايه براي فرم هاي ويندوز و ساير کلاس هاي موجود در کتابخانه کلاس فريمورک دات نت ، استفاده مي گردد عناصري که اينترفيس IComponent را پياده سازي مي نمايند ، در اين namespace تعريف شده اند. کلاس Container نيز در اين namespace تعريف شده است . هرشي Container ، دو اينترفيس را پياده سازي و در اين namespace قرار دارد : يک نمونه از اينترفيس IContainer همراه با يک اينترفيس ISite براي هر يک از عناصري که Container آنان را ميزبان مي نمايد. اين namespace همچنين شامل نوع هائي براي licensing عناصر است . System.ComponentModel ، همچنين شامل namespace فرزند است . مثلا" System.ComponenetModel.Design ، شامل مجموعه اي از نوع ها ئي است که امکان سفارشي نمودن عناصر مبتني بر فريمورک دات نت را در زمان طراحي ، فراهم خواهد کرد .
فراموش نکنيم که :
System.ComponentModel ، زير ساخت لازم بمنظور ايجاد عناصر نرم افزاري را ارائه مي نمايد .
System.Configuration ، نوع هائي نظير کلاس ConfigurationsSettings را ارائه که امکان دستيابي به اطلاعات پيکربندي مرتبط با يک برنامه مبتني بر فريمورک دات نت را فراهم مي نمايد. namespace فوق ، همچنين شامل namespace هاي فرزند اختصاصي خود است . مثلا" System.Configuration.Assemblies ، بمنظور کار با اطلاعات پيکربندي مشخص شده توسط اسمبلي و يا System.Configuration.Install ، بمنظور ايجاد نصب کننده هاي سفارشي براي نرم افزارهاي مبتني بر CLR ، استفاده مي گردد .
فراموش نکنيم که :
System.Configuration ، امکانات لازم در خصوص پيکربندي اسمبلي ها و ايجاد نصب کننده ها را فراهم مي نمايد.
System.Data ، يکي از مهمترين namespace ها در کتابخانه کلاس فريمورک دات نت است . نوع هاي موجود در اين namespace ، مسئول پياده سازي ADO.NET مي باشند . ADO.NET ، رويکردي استاندارد بمنظور دستيابي به داده ها در رابطه با برنامه هاي مبتني بر فريمورک دات نت است . namespace هاي فرزند آن ، System.Data.OleDb ( امکان دستيابي به منابع داده را با استفاده از OLE DB Provider ، فراهم مي نمايد ) و System.Data.SqlClient ( امکان دستيابي به داده هاي ذخيره شده در سرويس دهنده SQL ماکروسافت را فراهم مي نمايد ) مي باشند.
فراموش نکنيم که :
System.Data ، شامل نوع هائي است که ADO.NET را ايجاد مي نمايند.
در اين بخش به بررسي ساير namespace ها پرداخته و با آنها بصورت اجمالي آشنا خواهيم شد.
System.Diagnostics ، شامل تعداد زيادي کلاس ، اينترفيس و ساختارهاي لازم بمنظور اشکال زدائي برنامه هاي فريمورک دات نت است. مثلا" کلاس Trace ، امکان رديابي خطاء را با استفاده از تسهيلات خاصي ، فراهم مي نمايد .( افزودن کد مورد نظر بمنظور بررسي شرايطي خاص در برنامه ) . کلاس Debug موجود در اين namespace ، سرويس هاي مشابهي را ارائه و مي توان از امکانات آن در زمان پياده سازي استفاده کرد.
فراموش نکنيم که :
System.Diagnostics ، امکانات لازم در خصوص رديابي ، اشکال زدائي و ساير موارد مشابه را ارائه مي نمايد.
System.DirectoryServices ، شامل نوع هائي براي دستيابي به Active Directory و ساير سرويس هاي دايرکتوري است . قبل از دات نت ، روش استاندارد دستيابي به سرويس هاي ويندوز بکمک اينترفيس هاي مبتني بر عناصر COM ، محقق مي گرديد. Active Directory بعنوان نمونه مي توانست از طريق Active Directory Services Interface)ADSI) ، دستيابي گردد . نوع هاي موجود در namespace فوق ، قابل مقايسه با ADSI مي باشند .
فراموش نکنيم که :
System.DirectoryService ، يک API مناسب در ارتباط با Active Directory را ارائه مي نمايد.
System.Drawing ، مجموعه اي گسترده از نوع ها را بمنظور استفاده از سرويس هاي آخرين نسخه GDI)Graphice Device Interface) ماکروسافت ارائه مي نمايد (+GDI ناميده مي شود) . System.Drawing ، شامل کلاس هائي براي کار با Pens,Brushes وساير ابزارهاي ترسيم است . namespace فوق، داراي چندين namespace زيرمجموعه است. مثلا" System.Drawing.Drawing2D ، شامل نوع هائي براي توابع مربوط به عمليات گرافيکي دوبعدي و Vector graphic است و يا System.Drawing.Imaging ، شامل نوع هائي است که مي توان از آنان بمنظور کار با متا فايل ها و ساير تصاوير پيشرفته GDI ، استفاده کرد.System.Drawing.Printing ، شامل نوع هائي است که امکان کنترل چاپگر را فراهم و يا System.Drawing.Text شامل نوع هائي است که امکان عمليات بر روي فونت ها را فراهم مي نمايد.
فراموش نکنيم که :
System.Drawing ، امکانات لازم در خصوص ايجاد متن و انواع متفاوتي از گرافيک را فراهم مي نمايد.
System.EnterpriseServices ، شامل نوع هائي است که مي توان از آنان بمنظور دستيابي به سرويس هاي ارائه شده توسط + COM ، استفاده نمود (حمايت از تراکنش توزيع شده ، Object pooling ). برخلاف اکثر توابع ارائه شده توسط کتابخانه کلاس فريمورک دات نت ، نوع هاي موجود در namespace فوق در ارتباط با نرم افزارهاي موجود مبتني بر+ COM مي باشند ( در مقابل پياده سازي مجدد آن بعنوان کد مديريت يافته ) .
فراموش نکنيم که :
System.EnterpriseService ، امکان دستيابي به سرويس هاي + COM را فراهم مي نمايد.
System.Globalization ، شامل نوع هائي بمنظور ايجاد تقويم هاي ملي ، تبديل صفحات به کدينگ ملي ، فرمت مناسب تاريخ و زمان و سايرجنبه هائي است که از آنان بمنظور ايجاد نرم افزارهائي با قابليت استفاده در فرهنگ هاي متفاوت ، استفاده مي گردد. جهاني نمودن نرم افزار داراي اهميت خاص خود بوده و اغلب توابع پايه فريمورک دات نت بصورت اتوماتيک Culture-aware مي باشند.
فراموش نکنيم که :
System.Globalization ، امکان توليد نرم افزار با قابليت استفاده در فرهنگ هاي متفاوت را فراهم مي نمايد.
System.IO ، مجموعه اي گسترده از نوع ها را بمنظور خواندن و نوشتن فايل ها و دايرکتوري ها ، ارائه مي نمايد. با اينکه دستيابي به سيستم هاي مديريت بانک اطلاعاتي ، اغلب بعنوان اصلي ترين رويکرد بمنظور دستيابي به داده ها مطرح مي گردد ، ولي امکان انجام عمليات مرتبط با فايل ها ، همچنان مفيد و ضروري خواهد بود .
فراموش نکنيم که :
System.IO ، امکان دستيابي به فايل ها و دايرکتوري ها را فراهم مي نمايد.
System.Management ، نوع هائي را بمنظور دستيابي به داده (WMI(Windows Management Instrumentaion ، از طريق کدهاي مديريت يافته ( اداره شده ) فراهم مي نمايد. WMI ، نسخه پياده سازي شده ماکروسافت در رابطه با نوآوري Web-Based Enterprise Management)WBEM) ، حمايت شده توسط تعداد زيادي از توليدکنندگان است .
تعدادي از نوع هاي موجود در namespace فوق ، امکانات حمايتي لازم را در خصوص WMI Query Language)WQL) ، ( يک گويش خاص از SQL با تاکيد بر دستيابي به اطلاعات مرتبط با WMI ) را فراهم مي نمايد.
فراموش نکنيم که :
System.Management ، امکانات لازم در خصوص کار با داده هاي WMI را ارائه مي نمايد.
System.Messaging ، نوع هائي را بمنظور دستيابي به Microsoft Message Queuing)MSMQ) ارائه مي نمايد . MSMQ ، داراي چنديت API ديگر نظير يک API مبتني بر COM و يک API تعريف شده بعنوان مجموعه اي از توابع C است . نوع هاي namespace فوق ، API ديگري را تعريف که مي توان از آن در کد مديريت يافته ، استفاده کرد .
فراموش نکنيم که :
System.Messaging يک API را براي MSMQ ارائه مي نمايد.
System.Net ، شامل نوع هائي بمنظور دستيابي به چندين پروتکل متداول نظير: HTTP و DNS است . namespace فوق ، همچنين شامل کلاس هاي WebRequest و WebResponse بوده که امکان ايجاد برنامه هائي را فراهم مي نمايد که قادرند مستقل از نوع پروتکل استفاده شده ، با يکديگر ارتباط برقرار نمايند . اين نوع برنامه ها مي توانند بسادگي درخواستي را ايجاد و پاسخ آن را از طريق يک URL بدون آگاهي از جزئيات مربوطه ، دريافت نمايند. System.Net ، همچنين شامل namespace زيرمجموعه System.Net.Sockets است . نوع ها ي موجود در namespace فوق ، يک پياده سازي مديريت يافته از اينترفيس هاي مبتني بر سوکت سنتي در ارتباط با TCP و يا UDP مربوط به WinSock براي توليدات مبتني بر دات نت ، مي باشد .
فراموش نکنيم که :
System.Net ، امکانات حمايتي لازم بمنظور دستيابي به HTTP,TCP و ساير پروتکل ها را فراهم مي نمايد.
System.Reflection ، شامل مجموعه اي گسترده از نوع ها ، بمنظور بررسي يک متاديتا اسمبلي است . System.Reflection.Emit ، يک namespace زير مجموعه است که نوع هاي لازم بمنظور ايجاد ساير نوع ها بصورت پويا را ارائه مي نمايد ..
فراموش نکنيم که :
System.Reflection ، امکان دستيابي به متاديتاي اسمبلي را فراهم مي نمايد.
System.Resources ، نوع هاي لازم بمنظور عمليات مورد نياز کد مديريت يافته ( اداره شده ) در ارتباط با منابع را فراهم مي نمايد. منابع ، بخشي از يک برنامه بوده که مي توانند از کد مربوطه تفکيک گردند.( نظير يک پيام رشته اي ، آيکون ها ، Bitmap ) . يکي از کاربردهاي اوليه نوع هاي اين namespace ، امکان نمايش منابع متفاوت توسط يک برنامه در فرهنگ هاي متفاوت است . بعبارت ديگر ، محتويات اين namespace بصورت کاملا" خاص با جهاني نمودن يک نرم افزار که مي بايست در کشورهاي متفاوت و با زبانهاي متعدد فعاليت نمايند ، مرتبط مي باشند .
فراموش نکنيم که :
System.Resources ، امکان عمليات بر روي منابع را فراهم مي نمايد.
System.Runtime ، يک namespace مادر بوده که خود داراي چندين namespace مهم ديگر است . System.Runtime.CompilerServices شامل نوع هائي است که از آنان براي نوشتن کمپايلر مختص يک زبان سازگار با CLR ، استفاده مي گردد و صرفا" براي پياده کنندگان نرم افزار خاصي قابل استفاده است . System.Runtime.InteropServices ، يکي از namespace هاي مهم در کتابخانه کلاس فريمورک دات نت است . namespace فوق ، شامل نوع هائي است که تسهيلات لازم در خصوص ارتباط با نرم افزارهائي که مبتني بر CLR نمي باشند ، را فراهم مي نمايند. ( نظير کلاس هايCOM)
System.Runtime.Remoting ، يکي ديگر از تکنولوژي هاي مهم و شناخته شده با نام NET Remoting . ، است . System.Runtime.Serialization ، شامل نوع هائي است که از آنان براي Serializing وضعيت يک شي مديريت يافته ، استفاده مي گردد . Serializing يک شي مديريت يافته بدين مفهوم است که وضعيت آن درون حافظه و يا برخي از رسانه هاي ذخيره سازي دائم نظيريک فايل ، ذخيره مي گردد . پتانسيل انجام عمليات در ارتباط با وضعيت يک شي ، يکي از ويژگي هاي اساسي فريمورک دات نت بوده که توسط NET Remoting . ، استفاده مي گردد .
فراموش نکنيم که :
System.Runtime، امکانات لازم و حمايتي در رابطه با Interoperability,Remoting,Serialization و ساير سرويس هاي اساسي را فراهم مي نمايد .
System.Security ، شامل کلاس ها ، اينترفيس ها و ساير namespace هائي است که توابع متفاوت مرتبط با امنيت را ارائه مي نمايد. namespace فوق ، شامل چندين کلاس اساسي نظير : کلاس SecurityManager بوده که نفطه آغازين دستيابي براي کار با سيستم امنيتي است . System.Security.Cryptography ، شامل نوع هائي براي استفاده از سرويس هاي رمز و رمزنگاري کليد عمومي است . نوع هاي فوق ، قادر به دستيابي به Windows Cryptographic Service Providers)CSP) بوده که الگوريتم هائي نظير :ِ DES ,RC2 و RSA را پياده سازي و ارائه مي نمايد.
System.Security.Cryptography خود داراي دو namespace ديگر است . يکي ازآنها System.Security.Cryptography.X509Certificates ، نام داشته و شامل کلاس هائي بمنظور ايجاد و استفاده از X.509 نسخه سه کليد عمومي براي استفاده همراه با تکنولوژي Authenticode ماکروسافت است . namespace ديگر ،System.Security.Cryptography.Xml نام داشته و شامل مکانيزمي خاص در دات نت بمنظور امضاء ديجيتالي داده هائي است که توسط XML تشريح مي گردند .
System.Security ، همچنين داراي سه namespace زيرمجموعه ديگر است .System.Security.Permissions ، نوع هاي لازم در خصوص مجوزها را ارائه مي نمايد ( دستيابي ايمن به کد) System.Security.Policy ، کلاس هائي را نظير Site , URL,Publish,Zone را ارائه که مي توان از آنان در تعريف سياست هاي امنيتي استفاده کرد.System.Security.Principal ، شامل نوع هائي بمنظور کار با اصول امنيتي است .
فراموش نکنيم که :
System.Security ، امکانات حمايتي لازم در رابطه با رمزنگاري و ساير سرويس هاي امنيتي را ارائه مي نمايد.
System.ServiceProcess ، شامل نوع هائي براي ايجاد برنامه هاي فريمورک دات نت است که بصورت پردازه هاي Long-lived ( سرويس هاي ويندوز ) ، اجراء مي گردند. اين نوع برنامه ها قبلا" يک سرويس NT و يا demon ناميده مي گرديدند .
فراموش نکنيم که :
System.ServiceProcess ، امکان ايجاد سرويس هاي ويندوز را فراهم مي نمايد.
System.Text ، شامل گروهي اندک از کلاس ها بمنظور کار با متن است . مثلا" کلاس UTF8Encoding مربوط به namespace فوق ، قادر به تبديل کاراکترهاي Unicode از encoding پيش فرض به UTF-8 و بالعکس است . UTF از کلمات Unicode Transformation Format ، اقتباس و با کاراکترهاي شناخته شده اسکي سازگار مي باشد. System.Text ، همچنين شامل System.Text.RegularExpressions است . نوع هاي تعريف شده در namespace فوق ، امکان دستيابي به Regular expression را که مي توان از آنان در هر زبان مبتني بر CLR استفاده بعمل آورد را فراهم مي نمايد.
فراموش نکنيم که :
System.Text ، امکانات حمايتي لازم را در ارتباط با تبديل متن و کار با Regular Expression ارائه مي نمايد.
System.Threading ، يکي ديگر از namespace هاي مهم فريمورک دات نت محسوب مي گردد. نوع هاي موجود در namespace فوق ، روشي استاندارد براي پياده کنندگاني که با هر يک از زبانهاي دات نت کار مي نمايند را بمنظور ايجاد برنامه هاي multithreaded ارائه مي نمايد. قبل از دات نت ، ويژوال بيسيک ، ++C و ساير زبانها جملگي داراي رويکرد مختص بخود بمنظور threading بودند. در فريمورک دات نت تمامي زبان هاي مبتني بر CLR ، قادر به استفاده از محتويات System.Threading بمنظور کار بار threads بصورت يکپارچه مي باشند . شايد مهمترين نوع در اين namespace ، کلاس Thread باشد که متدهاي لازم بمنظور شروع فعاليت يک thread ، توقف آن و ساير عمليات مربوطه را ارائه مي نمايد.
فراموش نکنيم که :
System.Threading ، امکانات لازم در خصوص ارائه سرويس هاي استاندارد threading بمنظور استفاده توسط تمامي زبانهاي سازگار با CLR را ارائه مي نمايد.
System.Timers ، شامل نوع هائي براي مشخص نمودن و برخورد با رويدادهاي بازگشتي است . مهمترين کلاس namespace فوق ،Timer بوده که امکان تعريف يک بازه زماني را بعنوان بخشي از کلاس Timer بمنظور تحقق يک رويداد در يک برنامه در اختيار پياده کننده نرم افزار قرار مي دهد . برنامه در ادامه رويداد را تشخيص و عمليات لازم در ارتباط با آن را انجام خواهد داد . مثلا" يک برنامه ممکن است قصد بررسي يک نامه الکترونيکي جديد را در هر ده دقيقه داشته باشد. با استفاده از مکانيزم فوق ، پياده کنندگان قادر به بررسي رويداد فوق در فاصله زماني مورد نظر (در هر ده دقيقه ) و اجراي کد مربوطه بمنظور پاسحگوئي خواهند بود.
فراموش نکنيم که :
System.Timers ، امکانات حمايتي لازم در رابطه با انجام عمليات لازم و متناسب با رويدادها را فراهم مي نمايد.
System.Web ، پس از System مهمترين namespace در کتابخانه کلاس فريمورک دات نت است .namespace فوق ، شامل نوع هاي متنوع بهمراه تعداد زيادي namespace زير مجموعه است . امکانات موجود در namespace فوق ، مسئوليت پياده سازي ASP.NET را برعهده دارند. دو namespace زيرمجموعه مهم System.Web ، شامل System.Web.UI ( شامل نوع هائي بمنظور ايجاد برنامه هاي مبتني بر مرورگرها ) و System.Web.Services ( شامل نوع هائي براي ايجاد سرويس هاي وب ) است .
فراموش نکنيم که :
System.Web ، مسئول پياده سازي ASP.NET است .
System.Windows.Forms ، شامل نوع هائي بمنظور ايجاد رابط کاربر گرافيکي (GUI) ويندوز است . رابط کاربر محلي براي پياده کنندگاني که رابط هاي مبتني بر مرورگر را طراحي مي نمايند ، داراي اهميت کمتري بوده ولي داراي اهميت خاص خود است .
فراموش نکنيم که :
System.Windows.Forms ، امکانات حمايتي لازم در خصوص ايجاد رابط هاي کاربر گرافيکي محلي در ويندوز را فراهم مي نمايد.
System.XML ، شامل نوع هائي مفيدي براي انجام عمليات در ارتباط با اسناد XML است . دات نت بطور کامل XML را حمايت و محتويات namespace فوق ، امکانات گسترده اي رابمنظور کار با داده هاي مبتني بر XML در اختيار پياده کنندگان قرار مي دهد .
فراموش نکنيم که :
System.XML ، شامل مجموعه اي گسترده از امکانات لازم بمنظور کار با داده XML است .
در پايان لازم است به اين نکته اشاره گردد که کدهاي ارائه شده در يک کتابخانه استاندارد تا زمانيکه نسبت به آنها شناختي پيدا نگردد ، غيرمفيد خواهند بود. بخاطر سپردن تمام کنابخانه کلاس فريمورک دات نت ضرورتي نداشته ولي پياده کنندگاني که مي بايست کد سازگار با CLR بنويسند ، لازم است داراي يک شناخت مناسب از امکانات موجود در کتابخانه باشند. برخي از namespace ها داراي اهميت بيشتري نسبت به ساير namespace ها بوده و قصد داريم در بخش هاي بعدي اين مجموعه مقالات به بررسي آنها بپردازيم .
فراموش نکنيم که :
هر پياده کننده نرم افزار در فريمورک دات نت ، مي بايست يک شناخت اوليه مناسب نسبت به کتابخانه کلاس داشته باشد.