معرفی زبان سی شارپ و فریمورک دات نت

سی شارپ (C#) یک زبان امن، مناسب و شی گرا است که به توسعه دهندگان امکان ساخت برنامه های امن و پایدار که بر روی فریمورک دات نت (.NET Framework) اجرا می شود، می دهد. می توانید از سی شارپ برای ایجاد برنامه های ویندوز، وب سرویس های XML ، کامپوننت های توزیع شده، برنامه های کلاینت-سرور، برنامه های پایگاه داده و غیره، استفاده کرد. ویژوال سی شارپ ویرایشگر کد پیشرفته، طراحان رابط کاربری قابل قبول، دیباگر ادغام شده و ابزارهای زیاد دیگری دارد که توسعه برنامه های تحت زبان سی شارپ و فریمورک دات نت را آسان می کند.

 داکیونت سازی ویژوال سی شارپ این فرض را دارد که شما دانش پایه ای از مفاهیم برنامه نویسی دارید. اگر کاملا تازه کار هستید، شاید بهتر باشد اکسپرس ویژوال سی شارپ را ببینید که روی اینترنت قابل دسترسی است. همچنین می توانید از کتاب ها و منابع آنلاین برای یادگیری مهارت های برنامه نویسی سی شارپ بهره ببرید.

 

زبان سی شارپ

سینتکس سی شارپ رسا، ساده و یادگیری آن آسان است. سینتکس متفاوت سی شارپ توسط کسانی که با سی، سی پلاس پلاس یا جاوا آشنایی دارند، فورا قابل شناسایی است. توسعه دهندگانی که هر کدام از این زبان ها را بلد باشند، می توانند در مدت کوتاهی با سی شارپ به صورت عالی کار نمایند. سینتکس سی شارپ، اکثر پیچیدگی های سینتکس سی پلاس پلاس را ساده می کند و قابلیت های قدرتمندی مانند نوع تهی (nullable)، شمارشی، نمونه و لامبدا (lambda) و دسترسی مستقیم به حافظه، که در جاوا وجود ندارد، فراهم می کند. سی شارپ متدهای جنریک و انواع که نوع افزایشی امنیتی و کارایی، تکرارها که اعمال مجموعه کلاس ها برای تعریف رفتارهای تکراری سفارشی که برای استفاده با کد مشتری آسان است را، ممکن می سازد. کوئری ادغام شده در زبان (LINQ) کوئری نوع قدرتمند را به یک ساختار زیان کلاس اول تبدیل می کند.

 به عنوان یک زبان شی گرا، سی شارپ مفهوم کپسوله سازی، وراثت و چند ریختی را پشتیبانی می کند. تمامی متغیرها و متدها، همچنین متد اصلی، نقطه ورودی برنامه در تعاریف کلاس کپسوله می شوند. یک کلاس می تواند به طور مستقیم از یک کلاس والد به ارث ببرد، اما می تواند چند تعداد واسط اعمال کند. متدهایی که متدهای مجازی در یک کلاس والد را باطل می کنند؛ نیاز به کلمه کلیدی override برای جلوگیری از تعریف تصادفی دارند. در سی شارپ، یک ساخت () مانند یک کلاس سبک وزن است؛ یک نوع پشته ای تخصیص داده شده می باشد که می تواند رابط ها را اعمال کند اما از وراثت پشتییانی نمی کند.

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

  • کپسوله سازی امضای متدها که نمونه (delegates) گفته می شود. نوتیفیکیشن اتفاق های نوع امن را ممکن می سازد.
  • خصوصیت فایل (Properties) که به عنوان دسترس ها (accessors) برای متغیرهای عضو خصوصی استفاده می شود.
  • صفات (Attributes)، که متا داده اعلانی درباره انواع هنگام ران تایم را فراهم می آورد.
  • کامنت های داکیومنت سازی XML
  • کوئری زبان ادغام شده(LINQ) که قابلیت های کوئری درون ساختی در منابع داده متعددی را فراهم می آورد.

 اگر با نرم افزارهای ویندوز دیگری مانند شی های COM یا فایل های Win32 DLLs بومی، تعامل دارید، می توانید این اعمال را در سی شارپ از طریق پروسه ای به نام Interop انجام دهید. Interop به برنامه های سی شارپ این امکان را می دهد که تقریبا هر کاری که یک برنامه بومی سی پلاس پلاس انجام می دهد، انجام دهند. سی شارپ حتی از اشاره گر و مفهوم کد غیر امن (unsafe code) برای دسترسی مستقیم به حافظه حیاتی است، پشتیبانی می نماید.

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

موارد زیر منابع اضافی سی شارپ می باشند:

 

 معماری پلتفرم فریمورک دات نت

برنامه های سی شارپ روی فریمورک دات نت اجرا می شوند. فرمورک دات نت یک کامپوننت کامل ویندوز هست که شامل سیستم اجرای مجازی به نام ران تایم زبان معمول (CLR) و مجموعه متحد شده از مجموعه کتابخانه های کلاس است. CLR اجرای تجاری توسط مایکروسافت از زیرساخت زبان معمول (CLI) ، یک استاندارد بین المللی که پایه ای برای ایجاد محیط های اجرا و توسعه که زبان و کتابخانه در آن با هم همزمان کار می کند، می باشد.

 کد منبع نوشته شده در سی شارپ به صورت زبان واسط (IL) کامپایل می شود که از مشخصات CLI پیروی می نماید. کد IL و منابع، مانند بیت مپ ها و رسته ها ، روی دیسک در فایل قابل اجرا به نام اسمبلی معمولا با اکستنشن .exe یا .dll ذخیره می شود. یک اسمبلی شامل مانیفیستی است که اطلاعات درباره نوع اسمبلی، ورژن، فرهنگ و نیازمندی های امنیتی را فراهم می آورد.

هنگامی که برنامه سی شارپ اجرا می شود، اسمبلی درون CLR بارگذاری می شود که ممکن است بر اساس اطلاعات موجود در مانیفیست اعمال مختلفی انجام دهد. سپس، اگر نیازمندی های امنیتی تامین شوند، CLR کامپایل JIT (just in time) ، برای تبدیل کد IL به دستورات بومی ماشین انجام می دهد. CLR همچنین سرویس های دیگری مرتبط با مجموعه زباله اتوماتیک، مدیریت استثناها و مدیریت منابع ، فراهم می آورد. کدی که توسط CLR اجرا می شود به نام کد مدیریت شده (managed code) شناخته می شود در مقابل کد مدیریت نشده (unmanaged code) که به زبان ماشین بومی برای یک سیستم خاص کامپایل شده است.

 تعامل زبانی قابلیت کلیدی فریمورک دات نت است. به دلیل اینکه کد IL تولید شده توسط کامپایلر سی شارپ، از مشخصات نوع معمول (CTS) پیروی می نماید، کد IL تولید شده توسط سی شارپ می تواند با کد تولید شده توسط ورژن های دات نت ویژوال بیسیک، ویژوال سی پلاس پلاس یا هر بیست زبان CTS، تعامل داشته باشد. یک اسمبلی ساده ممکن است شامل مازول های متعدد نوشته شده در زبان های دات نت باشد و نوع ها می توانند یه یک دیگر ارجاع داشته باشند، درست مانند زمانی که همه آنها به یک زبان نوشته شده باشد. علاوه بر سرویس های زمان اجرا، فریمورک دات نت همچنین شامل کتابخانه بزرگی با بیش از ۴۰۰۰ کتابخانه است که به صورت فضای نام ها که توابع مفید مختلفی برای همه چیز از فایل های ورودی و خروجی تا دستکاری رشته و تجزیه XML و کنترل فرم های ویندوز، دارد. برنامه های معمول سی شارپ از کتابخانه کلاس فریمورک دات نت برای مدیریت plumbing استفاده می کند.

 

منبع

 

 

0 پاسخ

ارسال یک پاسخ

در گفتگو ها شرکت کنید.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *