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