# Native Code > برنامه نویسی در Delphi > برنامه نویسی در Delphi Prism >  آموزش C#‎ Builder قسمت اول

## Delphi-Clinic

- بخش اول: مقدمه ای بر C#‎ Builder و زبان برنامه نویسی #C


- فصل اول : مقدمه ای بر NET. و آشنایی با C#‎ Builder

*اصول NET.*

شرکت بورلند اولین شرکتی بود که توانست اجازه تولید کمپایلر های دات نت را از شرکت Microsoft بگیرد. با این ترتیب تمام نرم افزار های تولید شده با C#‎ Builder کاملا سازگار باتکنولوژی دات نت می باشد.

از این به بعد برای سهولت C#‎ Builder را csb می نامیم.

چون csb قادر است برنامه های کاربردی تحت دات نت را بسرعت تولید کند قبل از شروع آموزش لازم است نکات زیر را بدانیم:

- چرا آموختن دات نت مهم است؟
- اصولا دات نت چیست؟
- دات نت چطور کار می کند؟

مطالبی که در این بخش می خوانید جامع نیستند اما دانستن آنها بسیار مهم است زیرا آموختن این مطالب پاسخگویی به سوالات بعدی را آسان می سازد.

*چرا دات نت؟*

در گذشته زبانهای برنامه نویسی - سیستمهای عامل و محیطهای اجرا کننده همگی فقط برای اجرای برنامه ها بر روی یک کامپیوتر منفرد تعریف شده بودند.بعبارتی تمام برنامه ها فقط بصورتDesktop اجرا می شدند.
هنگامی که لازم شد برنامه ها جهت استفاده در اینترنت آماده گردند ابزارهای برنامه نویسی نیاز داشتند که API  اضافی و قابلیتهای جدیدی به آنها اضافه گردد.

*دات نت جهت پشتیبانی نسل جدید برنامه های کاربردی تحت اینترنت بوجود آمده است.*

مواردی مانند Deployment - امنیت و بروزرسانی مواردی بودند که تبدیل به مشکلات بغرنجی در برنامه نویسی شده بودند و دات نت در اولین گام به این مشکلات پرداخته است.

هسته مرکزی دات نت را Common Language Runtime یا به اختصار CLR  می نامند.

CLR یک موتور مجازی اجرا کننده است که Deployment - امنیت  و بروز رسانی سریع را پشتیبانی می کند.

با روال برنامه نویسی ما  قبل دات نت نمی توان این قابلیتها را داشت ( البته این نظر مایکروسافت است).
دات نت با حل نمودن مشکلاتی که  نمونه ای از آنها ذکر شد بهترین گزینه برای ایجاد برنامه های کاربردی تحت اینترنت است.

* دات نت چیست؟*
دات نت یک بستر اجرایی جهت ایجاد  برنامه های برنامه های کاربردی آماده است.

دات نت از ابزارهایی که شامل یک کتابخانه کلاسهای اصلی یا Base Class Library و زبانهای برنامه نویسی می شوند تشکیل شده است ( در حقیقت هسته اصلی دات نت همان Base Class Library است و زبانهای برنامه نویسی مانند واسط عمل می کنند. VisualBasic - Delphi و #C همگی جزو زبانهای واسط برای دات نت محسوب می شوند.)

ابزارهای دات نت به شما امکان تولید برنامه های مختلفی را می دهند که از آنها می توان
Windows Forms
ASP.NET
ADO.NET
و سرویسهای وب را نام برد.

Windows Form ها مجموعا ای کتابخانه هستند که برای ایجاد رابط گرافیکی کاربر(Graphical User InterFace) جهت برنامه های کاربردی بکار می روند.
این مجموعه کتابخانه دارای قدرت بالای پشتیبانی از API ویندوز 32 بیتی است که با کمک این API براحتی می توان برنامه های تحت ویندوز را بصورت شی گرا ایجاد نمود.

ADO.NET مجموعه ای از کلاسهای شی گرا برای ایجاد ابزارهای مدیریت و دسترسی به اطلاعات برای برنامه های چند کاربره است.
ساختار ADO.NET طوری ایجاد شده است که با کمک آن براحتی می توان برای انواع پایگاه داده ابزار مدیریت داده و ابزارهای دسترسی سریع به اطلاعات را برنامه نویسی نمود.

CSB همچنین دارای Borland Data Provider است که با کمک آن قادراست چندین پایگاه داده و موتور قدرتمند بانک اطلاعاتی را بسهولت پشتیبانی کند.

ASP.NET شامل مدل برنامه نویسی فرمهای وبی است. با کمک آن می توان برنامه های اینترنتی که روی سرور اجرا شده و از طریق انواع Browser ها قابل دسترسی هستند را براحتی نوشت.
این نوع برنامه ها روی سرور اجرا شده و برای نمایش در Browser کاربر HTML تولید می نمایند.

ASP.NET شی گرا است و مدل اجرا تابع سرور را پشتیبانی می کند یعنی  می توان یک جزء برنامه را یکبار ایجاد نمود و چنیدین بار در برنمه های مختلف به آن ارجاع نمود.

سرویسها وب یک راه حل مستقل از سیستم عامل و بر اساس استانداردهای وبی هستند که اجازه می دهند سیستمهای مختلف براحتی روی اینترنت با هم ارتباط بر قرار کنند.

سرویسهای وب دات نت از یک ساختار شی گرای مدل برنامه نویسی ASP.NET استفاده می کنند.
اما هنوز یک مدل استاندارد در خال گسترش و بر اساس Messaging را مورد استفاده قرار  می دهند.
با استفاده از استانداردهای در حال توسعه مانند:
- XML
- SOAP
- WSDL
- UDDI
سرویسهای وبی دات نت براحتی با انواع دیگر سرویسهای وبی استاندارد بدون توجه به سیستم عامل و زبان برنامه نویسی ارتباط بر قرار می کنند.

نمونه هایی که در بالا ذکر شد تنها بخش کوچکیاز تواناییهای برنامه های نوشته شده تحت دات نت است. اگر آشنایی شما با Base Class Library بزرگ دات نت بیشتر شود قطعا خواهید توانست موارد استفاده زیادی را برای دات نت پیدا کنید و از قابلیتهای آن به نحو احسن استفاده کنید.


*کتابخانه کلاسهای اصلی یا Base Class Library*

این کتابخانه شامل هزاران کلاس و تعریف قابل استفاده است که تولید برنامه های کاربردی دات نت را سرعت می بخشد.
بدلیل گستردگی BCL یادگیری آن زمان زیادی را میطلبد پس قبل از اینکه اقدام به ایجاد کلاس یا تعریف جدیدی کنید سعی نمایید با جستجو در BCL از نبود کلاس مشابه اطمینان حاصل کنید تا
ناچار نباشید چرخ را از نو اختراع کنید. :wink: 

حال نگاهی کوتاه خواهیم داشت بر  قسمتهای مختلف BCL :

System: اصلی ترین کتابخانه BCL.
System.CodeDom: شامل تعاریف خودکارسازی کمپایلر و کنترل سورس کد برنامه.  

System.Collections:  شامل تعریف Array List و HashTable و  Stack.
System.ComponentModel : تعاریف اصلی برای ایجاد کامپوننت های قابل استفاده مجدد.

System.Configuration: تعاریفی جهت کار با فایلهای پیکره بندی با پسوند XML.
System.Data: تعاریف کار با ADO.NET و کار با سایر  اجزاء بانکهای اطلاعاتی.

System.Diagnostics: شامل تعریف و متدهای Process - Event Log - Performance Counter.
System.DirectorySevices: تعاریف دسترسی به سرویسهای Active Directory ویندوز.

 System.Drawing: تعاریف و متدهای +GDI.
System.EnterpriseServices: تعاریف و متدهای +COM.

System.Globalization: تعاریف و متدهای مدیریت تقویم - ناحیه جغرافیایی و زبانهای ملل.
System.IO: تعاریف و متدهای کار با File - Directory - Stream.

- System.Management: توابع API برای انجام وظایف WMI.
- System.Messaging: تعاریف و متدهای مدیریت Messaging.

-System.NET: تعاریف مدیریتی جهت پروتکلهای شبکه.
- System.Reflection: توابع API برای دسترسی به MetaData اسمبلی.

- System.Resources:  تعاریف و متدهای دسترسی به منابع سیستم.
- System.Runtime:  تعاریف و متدهای  COM Interop - Remoting -Serialization Support.

- System.Security: تعاریف و متدهای امنیتی و رمز کذاری.
- System.ServiceProcess:  تعاریف و متدهایی جهت ایجاد  سرویسهای ویندوز.

- System.Text: تعاریف و متدهای مدیریت رشته های کاراکتری مثل کلاس StringBuilder.
- System.Timers:  متدهای مدیریت Timer.

- System.Threading:  تعاریف مدریت Thread ها و Synchronization.
- System.Web:  تعریف و متدهای وب مثل  HTTP - ASP.NET و سرویسهای وب.

- System.Windows: تعاریف و متدهای ایجاد کننده فرمهای وبی.
- System.XML:  تعلریف و متدهای مدیریت کننده XML  شاملXML Schema - 
XMLTextReaders/XMLTextWriters - XPath - XML Serialization - XSLT 


پایان قسمت اول  :)

----------


## Kambiz

مرسی!  :flower:

----------


## houshmand

آفرین   :تشویق:

----------

