#C نیز یکی از زبان های برنامه نویسی برای طراحی وب سایت است که بر پایه ساختار زبان C و برای برنامه نویسی در محیط .Net طراحی شده است.
یک وب سایت Asp.Net معمولا از کدی که بوسیله زبان Vb.Net یا C# ( بخوانید سی شارپ) نوشته شده تشکیل یافته است. وقتی که یک سایت را با زبان Vb.Net یا C# می سازید، در واقع برنامه Asp.Net ای مبتنی بر آن زبان ایجاد می کنید. این مساله تفاوت اصلی میان Asp.Net با صفحات Asp قدیمی ( کلاسیک) است، زیرا در Asp.Net شما از یک زبان برنامه نویسی واقعی , مانند Vb.Net یا C# با تمام امکانات آن استفاده می کنید در حالی که در صفحات Asp تنها می توانید از یک زبان خیلی خلاصه شده مانند VB Script استفاده نمایید .
حداکثر تعداد کلمات کلیدی در #C کمتر از ۹۰ می باشد. این زبان ساده و یادگیری آن آسان است و به زبانهایی مانند C ,C++ ,java نزدیک است. توسعه دهندگانی که یکی از این زبانها را بدانند، می توانند در مدت زمان کوتاهی به طور موثر از آن استفاده کنند. سینتکس #C برخی پیچیدگی های C++ را ندارد و قابلیت هایی مانند nullable value types, enumerations, delegates, anonymous methods and direct memory access را فراهم کرده، همچنین از امکانات iterators و generic methods and types نیز پشتیبانی می نماید.
C# به عنوان یک زبان برنامه نویسی، از مفاهیمی مانند encapsulation, inheritance and polymorphism نیز پشتیبانی می کند. همه ی متغیرها و متدها توسط کلاس ها Encapsulation می شوند. یک کلاس می تواند از سطح بالاتر خود ارث بری داشته باشد.
این زبان علاوه بر داشتن اشیا Object Oreinted دارای عناصری توسعه یافته برای ارتباط با نرم افزارهای ویندوزی است :
اگر نیاز به محاوره با اشیایی مانند COM یا Win32 Dll داشته باشید، می توانید این کار از طریق فرآیندی که Interop نامیده می شود انجام دهید. این فرآیند برنامه های #C را قادر می سازد تا درست مانند برنامه های C++ عمل نمایند. C# همچنین از اشاره گرها و مفهوم code Unsafe که برای دسترسی مستقیم به حافظه در مواقع بحرانی است نیز پشتیبانی می کند.
فرآیند ایجاد و کامپایل برنامه های #C در مقایسه با C ,C++ ساده تر و انعطاف پذیر تر از Java می باشد.
هر تعداد کلاس ، رکورد ، اینترفیس و رویداد را که نیاز داشته باشید می توانید در #C تعریف کنید.
برنامه های #C بر روی .NET Framework اجرا می شوند. کدهای نوشته شده به این زبان به یک زبان میانی یا IL تبدیل شده و سپس با پسوند .exe یا .dll در یک فایل اجرایی که اسمبلی نامیده می شود ذخیره می شوند.
زمانی که یک برنامه C# اجرا می شود، اسمبلی در CLR لود می شود و بسته به اطلاعات موجود در manifest عملیات مختلفی را انجام می دهد.اگر از مرحله ی فیلتر امنیتی عبور داده شود ، CLR از JIT استفاده کرده تا کد IL را به زبان اصلی ماشین تبدیل کند.
CLR همچنین سرویس های دیگری که با automatic garbage collection و exception handlingو resource management مرتبط هستند را ارائه می دهد. CLR در بعضی مواقع به کدهای Manage شده نیز معروف می باشد که در نهایت به زبان ماشین تبدیل می شود.
برنامه نویسان برای حل مسئله دنیای واقعی از زبانهای برنامه نویسی مختلفی استفاده میکنند که بعضا از آنها مستقیما توسط کامپیوتر قابل فهم هستند و بعضی دیگر باید به زبان کامپیوتر یا زبان ماشین ترجمه شوند تا قابل فهم باشند. امروزه صدها زبان برنامه نویسی وجود دارند که C# یکی از آنهاست. در این پست قصد داریم به بررسی این زبان بپردازیم، ولی خوب است قبلا نگاهی به انواع زبانها داشته باشیم.
انواع زبانهای برنامه سازی
زبانهای برنامه سازی که تنوع زیادی دارند ، بطور کلی میتوانند به سه دسته تقسیم شوند:
1. زبانهای ماشین
2. زبانهای اسمبلی
3. زبانهای سطح بالا
♦ زبانهای ماشین:
هر کامپیوتر مستقیما فقط میتواند زبان ماشین خودش را درک کند که زبان طبیعی آن کامپیوتر نام دارد و توسط طراحی سخت افزار آن تعریف شده است. زبانهای ماشین ، بطور کلی رشته ای از اعداد هستند که در نهایت به صفرها و یک ها تبدیل میشوند. این اعداد معنای خاصی دارند و به کامپیوتر دستور میدهند هر بار یکی عملیات خودش را اجرا کند. زبانهای ماشین ، وابسته به ماشین هستند (یعنی هر ماشین دارای زبان خاص خودش است). کار کردن با این زبانها برای انسان بسیار دشوار است، نمونه ای از دستورالعملهای زبان ماشین میتواند به شرح زیر باشد که هر کدام معنای خاصی دارند:
+1300042774
+1400593419
+1200274027
♦ زبانهای اسمبلی:
اغلب برنامه نویسان به کندی و به سختی میتوانند با زبانهای ماشین برنامه بنویسند . به جای استفاده از رشته ای از اعداد که کامپیوتر مستقیما میتواند آنها را درک کند ، برنامه نویسان برای نمایش عملیات اصلی ماشین، از واژه های خلاصه انگلیسی استفاده کردند. این واژه های خلاصه ، مبنای زبانهای اسمبلی شدند. برنامه هایی که کار ترجمه ی زبانهای اسمبلی را به برنامه زبان ماشین انجام میدهند، اسمبلر نام دارند. نمونه هایی از دستورات زبان اسمبلی عبارتنداز:
load basePay
add overPay
store grossPay
♦ زبانهای سطح بالا:
با اختراع زبانهای اسمبلی، کاربرد کامپیوترها گسترش یافت، اما هنوز برنامه نویسان برای انجام کارهای ساده از دستورالعملهای زیادی استفاده میکردند. برای تسریع در فرآیند برنامه نویسی ، زبانهای سطح بالا اختراع شدند که در آنها هر دستورالعمل میتواند چندین کار اساسی را انجام دهد. برنامه های مترجم که برنامه های زبان سطح بالا را به زبان ماشین تبدیل میکنند ، کامپایلر نام دارند. زبانهای سطح بالا به برنامه نویسان اجازه میدهند دستورالعملهایی بنویسند که شبیه عبارات ریاضی و زبان محاوره انگلیسی باشند.بعنوان مثال ، تمام برنامه های حقوق و دستمزد از دستور زیر برای محاسبه حقوق ناخالص استفاده میکنند:
grossPay= basePay+ overTimePay
از دیدگاه برنامه نویس، زبانهای سطح بالا نسبت به زبانهای ماشین و اسمبلی ارجح اند. زبانهایی مثل ویژوال C# ، ویژوال C++ ، ویژوال بیسیک، C ، C++ و جاوا زبانهای سطح بالایی هستند که به وفور مورد استفاده قرار میگیرند. فرآیند ترجمه زبان سطح بالا به زبان ماشین میتواند وقت زیادی از کامپیوتر را بگیرد. برنامه های مفسر انتخاب شد تا برنامه های زبانهای سطح بالا را مستقیما اجرا کند، گرچه کندتر بوده است . مفسرها در محیط هایی استفاده میشوند که ویژگی های جدیدی به برنامه اضافه میشوند و برنامه ها باید اشکال زدایی شوند. وقتی برنامه بطور کامل ایجاد شد، نسخه ی ترجمه شده ی آن میتواند بطور کامل اجرا گردد. مفسرها در زبانهای اسکریپتی در وب معروف هستند.
زبان ویژوال C#.NET
پیشرفت ابزاهای برنامه نویسی و دستگاههای الکترونیکی (مثل تلفن های همراه و PAD ها) ،مشکلات و نیازمندیهای جدیدی را بوجود آوردند. جامعیت قطعات نرم افزاری از زبانهای مختلف، ثابت کرد که این دشواری و مشکلات نصب ، متداول بودند، زیرا نسخه های جدید قطعات مشترک، با نرم افزارهای قدیمی ناسازگار بودند. توسعه دهندگان پی بردند که به کاربردهای وبی نیاز دارند که بتوانند از طریق اینترنت دستیابی شوند. به دلیل شهرت دستگاههای الکترونیکی سیار، توسعه دهندگان نرم افزار پی بردند که سرویس گیرندگان آنها لازم نیست کامپیوترهای رو میزی باشند. برای برآورده کردن این نیازها ، در سال 2000 میکروسافت زبان برنامه نویسی #C را اعلان کرد. #C برای سکوی NET. فراهم شد.
♦ فناوری شی و مفهوم شی گرایی
هر چیزی که در دنیای واقعی وجود دارد شی ء نامیده میشود، مثل مردم، حیوانات، گیاهان، اتومبیلها، هواپیماها، ساختمانهاف کامپیوترها و غیره. انسان بر اساس اشیا فکر میکند. تلفن ها، خانه ها، چراغ راهنمایی، اجاق های میکروفر، فقط بخشی از اشیا هستند که در اطراف ما وجود دارند. هر نوع اشیا چیزهای مشترکی دارند. آنها دارای صفات هستند و تمام آنها رفتارهایی از خود نشان میدهند.
طراحی شی گرا (OOD) ، نرم افزار را بر اساس واژه هایی که افراد برای توصیف اشیای دنیای واقعی استفاده میکنند، مدلسازی میکند. از امتیاز رابطه ی کلاس یا رده استفاده میکند که در آن اشیایی از یک کلاس ، ویژگی های یکسانی دارند. OOD از امتیاز رابطه ی وراثت نیز استفاده میکندکه در آن ، کلاس جدیدی از اشیا با ویژگی های کلاسهای موجود و افزودن ویژگیهای جدید ، ایجاد میشوند. شی ء ای از کلاس "دانشجویان ارشد" ویژگی های کلاس کلی تر "دانشجویان" را دارد، اما ویژگی های خاص خودش را نیز دارد.
طراحی شی گرا یک روش طبیعی و شهودی را برای مشاهده فرآیند طراحی نرم افزار فراهم میآورد. همچنین ارتباط بین اشیا را مدلسازی میکند. همانطور که افراد برای همدیگر پیام میفرستند، اشیا نیز از طریق پیامها با یکدیگر ارتباظ برقرار میکنند. OOD ، صفات و عملیات ها را در اشیا محصور میکند، یعنی عملیات ها و صفات اشیا در نهایت با هم گره میخورند. اشیا دارای خاصیت پنهان سازی اطلاعات هستند. معنایش این است که اشیا میدانند که چگونه از طریق واسط های تعریف شده، با یکدیگر ارتباط برقرار نمایند، ولی معمولا اجتزه ندارند که بدانند اشیای دیگر چگونه پیاده سازی شده اند. یعنی جزییات پیاده سازی اشیا در داخل آنها مخفی شده است.
زبانهایی مثل #C ، شی گرا هستند، یعنی امکاناتی در این زبان فراهم آمده است که میتواند اشیای دنیای واقعی را مدلسازی نماید. برنامه نویسی در این زبانها، برنامه نویسی شی ء گرا (OOP) نام دارد و به برنامه نویسان کامپیوتر اجازه میدهد طراحی شی گرا را بصورت سیستم نرم افزاری پیاده سازی نماید. زبانهایی مثل C، رویه ای هستند، لذا برنامه نویسی در این زبانها عملگراست. در C، واحد برنامه نویسی ، تابع است.در #C، واحد برنامه نویسی کلاس است که اشیا از آن نمونه سازی یا ایجاد میشوند. کلاسهای #C شامل متدها (معادل توابع در C) هستند که عملیات را پیاده سازی میکنند و شامل داده هایی هستند که صفات را پیاده سازی میکنند.
♦ کلاس ها
برنامه نویسان #C، بر روی انواع جدیدی به نام کلاس ها تاکید دارند. هر کلاس شامل داده ها و متدهایی است که داده ها را دستکاری میکنند و سرویس هایی را برای سرویس گیرندگان فراهم مینمایند. قطعات داده ای کلاس را صفات یا فیلد ها مینامند. بعنوان مثال، کلاس حساب بانکی ممکن است شامل شماره حساب و موجودی باشد. قطعات عملیاتی کلاس را متد مینامند. بعنوان مثال، کلاس حساب بانکی ممکن است شامل متدهایی برای واریز پول یا برداشت پول و نمایش موجودی باشد.
کلاسها نسبت به اشیا، مثل نقشه ها نسبت به ساختمان هستند. همانطور که از یک نقشه میتوان چند ساختمان تهیه کرد، از یک کلاس میتوان چند شی ء ایجاد کرد. نقشه ، الگویی برای ساخت ساختمان و استفاده از آن است و کلاس الگویی برای ساخت اشیا و استفاده از آنهاست. کلاسها میتوانند با یکدیگر ارتباط داشته باشند. این رابطه ها را وابستگی مینامند.
ایجاد نرم افزار با استفاده از کلاسها، اجازه میدهد که سییستم های نرم افزاری آتی از کلاسها مجددا استفاده نمایند. گروه هایی از کلاسهای مرتبط، بصورت قطعاتی بسته بندی میشوند که دوباره قابل استفاده اند. قابلیت استفاده مجدد، کلید توسعه نرم افزارها در آینده است. هر کلاس جدیدی که ایجاد میکنید، میتواند دارایی نرم افزار ارزشمندی باشد که شما یا سایر برنامه نویسان میتوانید در توسعه نرم افزارهای دیکر استفاده کنید.
طراحی سایت | ساخت سایت | طراحی سایت فروشگاهی