سی شارپ

متخصص دات نت (Csharp)

دوره متخصص دات نت (Csharp) یکی از دوره های بسیار کاملی می باشد که کمتر جایی پیدا خواهید کرد. در این دوره، مباحتی از قبیل زبان برنامه نویسی C#، بانک اطلاعاتی SQL Server و Ado.net، کتابخانه های مهم و حوزه های .NET و Entity Framework، پلتفرم WPF، معماری نرم افزار، تست نویسی در .NET، دیزاین پترن ها و بسیاری موارد دیگر را فرا خواهید گرفت و در انتهای دوره نیز یک پروژه را به صورت عملی و از صفر خواهیم ساخت که موجب آشنایی شما با چالش های موجود در پروژه های واقعی و بازار کار می شود. پس تنها با ثبت نام در این دوره، هرآنچه برای تبدیل شدن به یک برنامه نویس فول استک نیاز دارید را خواهید داشت!

آخرین بروزرسانی در تاریخ ۱۴۰۲/۱۱/۲۳
22 : 29 : 43

قیمت دوره :

courseTitle

سی شارپ چیست؟

C# یا سی شارپ، یک زبان برنامه‌نویسی شیءگرا، ساختاری، و چندمنظوره (multi-paradigm) است که توسط شرکت مایکروسافت در سال ۲۰۰۰ معرفی شد. این زبان برای توسعه‌ی نرم‌افزارهای ویندوز، برنامه‌های تحت وب، برنامه‌های موبایل و بازی‌های ویدیویی استفاده می‌شود.

C# از دیدگاه ساختاری، زبانی سیستماتیک است که باعث سهولت در توسعه‌ی برنامه می‌شود. این زبان به صورت شیءگرا به کار می‌رود، یعنی بر اساس شیوه‌ی برنامه‌نویسی که مفاهیم و قواعد آن بر پایه‌ی اشیاء (Objects) می‌باشد، پایه ریزی شده است. C# همچنین از مفاهیم برنامه‌نویسی ساختاری نیز پشتیبانی می‌کند که این مفاهیم معمولاً برای نوشتن کدهای کوچک و سریع کاربرد دارند.

C# به همراه محیط توسعه‌ی مایکروسافت ویژوال استودیو (Visual Studio) مورد استفاده قرار می‌گیرد که شامل ابزارهای متعددی برای توسعه، تست، و پیکربندی برنامه‌ها می‌باشد.

 

چرا سی شارپ؟

  1. پراکندگی گسترده: C# یکی از پراکنده‌ترین زبان‌های برنامه‌نویسی در جهان است و اکثر شرکت‌های بزرگ از جمله مایکروسافت، اپل و گوگل از آن استفاده می‌کنند. این به معنی دسترسی آسان به کتابخانه‌ها، منابع آموزشی و ابزارهای توسعه‌ی مرتبط با C# است.

  2. قابلیت استفاده برای برنامه‌نویسی چندپلتفرم: C# امکان توسعه‌ی برنامه‌های متنوعی برای سیستم‌های عامل ویندوز، لینوکس، مک‌اواس و دیگر پلتفرم‌ها را فراهم می‌کند.

  3. سادگی و خوانایی: C# دارای نحوه‌ی نوشتاری ساده‌تری نسبت به دیگر زبان‌های برنامه‌نویسی است و کدهای نوشته شده با این زبان به راحتی قابل فهم هستند. همچنین، C# از خصوصیات بسیاری از زبان‌های دیگر به طور مثال، دارای بانک اطلاعاتی تعاملی مبتنی بر LINQ (Language Integrated Query) است.

  4. کارآیی بالا: C# دارای کارایی بالایی است و با استفاده از این زبان می‌توان برنامه‌هایی با سرعت بالا تولید کرد.

  5. امنیت: با استفاده از C# می‌توان برنامه‌هایی با امنیت بالا تولید کرد، زیرا این زبان از نوعی امضای دیجیتال استفاده می‌کند که به صورت پیش‌فرض هنگام کامپایل کردن برنامه‌ها در قالب فایل‌های اجرایی استفاده می‌شود.

 

Entity Framework

Entity Framework یک فریم‌ورک شی‌گرا برای تعامل با پایگاه داده‌ها در برنامه‌نویسی .NET است. با استفاده از Entity Framework، می‌توانید به صورت شی‌گرا با پایگاه داده‌ها ارتباط برقرار کنید و عملیات CRUD (ساخت، خواندن، به‌روزرسانی و حذف) را انجام دهید.

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

Entity Framework دارای قابلیت‌های مفیدی مانند پیمایش شی‌گرایی، پیمایش دیرهنگام (lazy loading)، توابع خودکار پایگاه داده (automatic database functions) و قابلیت‌های پیشرفته‌تر مانند مدیریت تراکنش‌ها و معاملات (transactions) است. همچنین، Entity Framework از پشتیبانی از پایگاه داده‌های مختلفی مانند SQL Server، Oracle، MySQL و PostgreSQL پشتیبانی می‌کند.

 

Sql Server

SQL Server یک سیستم مدیریت پایگاه داده رابطه‌ای (RDBMS) از شرکت مایکروسافت است. SQL Server از زبان استاندارد SQL (Structured Query Language) استفاده می‌کند و برای ذخیره‌سازی، جستجو، و مدیریت داده‌ها استفاده می‌شود. SQL Server می‌تواند بر روی سیستم‌های عامل ویندوز نصب شده و از قابلیت‌هایی مانند شبکه‌بندی، بک‌آپ‌گیری، بازیابی پایگاه داده، امنیت و سطوح دسترسی پشتیبانی کند.

SQL Server دارای انواع مختلفی از نسخه‌هاست که هر کدام برای نیازهای خاصی مناسبند. نسخه‌های SQL Server شامل SQL Server Express، SQL Server Standard، SQL Server Enterprise و SQL Server Developer می‌شوند. SQL Server همچنین ابزارهای مفیدی مانند SQL Server Management Studio (SSMS) برای مدیریت داده‌ها و پایگاه داده و SQL Server Integration Services (SSIS) برای انتقال داده‌ها از منابع مختلف به پایگاه داده فراهم می‌کند.

SQL Server در بسیاری از سازمان‌ها، برنامه‌های کاربردی و وب‌سایت‌ها استفاده می‌شود و به عنوان یکی از قدرتمندترین و پرکاربردترین سیستم‌های مدیریت پایگاه داده در دنیا شناخته می‌شود.

 

شی گرایی

شی گرایی (Object-Oriented Programming یا به اختصار OOP) یک روش برنامه‌نویسی است که در آن داده‌ها و عملیات مربوط به آن‌ها به صورت شی‌هایی در نظر گرفته می‌شوند. در سی شارپ نیز، مفهوم شی گرایی به خوبی پیاده‌سازی شده است.

شی گرایی در سی شارپ بر اساس چهار اصل اساسی زیر استوار است:

  1. انتزاع (Abstraction): این اصل به معنای پنهان کردن جزئیات پیچیده و تنها نمایش ویژگی‌های مهم و مورد نیاز یک شی است. در سی شارپ، این اصل با استفاده از مفهوم‌هایی مانند کلاس‌ها، اعضای کلاس، ویژگی‌ها و توابع پیاده‌سازی می‌شود.
  2. ارث‌بری (Inheritance): این اصل به معنای ارث‌بری ویژگی‌ها و عملیات از یک کلاس به کلاس دیگر است. در سی شارپ، می‌توانید با استفاده از کلمه‌ی کلیدی :base، یک کلاس را از یک کلاس پایه (base class) ارث‌بری کنید.
  3. چندشکلی (Polymorphism): این اصل به معنای توانایی اجرای یک عملیات به چندین شکل است. در سی شارپ، می‌توانید با استفاده از واژه‌ی کلیدی virtual و override، تابع‌ها را در کلاس‌های مختلف پیاده‌سازی کنید.
  4. جداسازی مفاهیم (Encapsulation): این اصل به معنای جداسازی ویژگی‌های داده‌ای و عملیاتی یک شی است. در سی شارپ، با استفاده از کلمه‌ی کلیدی private و public، می‌توانید محدوده دسترسی به ویژگی‌ها و توابع را مشخص کنید.

به طور کلی، شی گرایی در سی شارپ برای پیاده‌سازی برنامه‌ می باشد.

 

Dependency Injection

Dependency Injection (DI) یک الگوی طراحی (design pattern) است که در برنامه‌نویسی مورد استفاده قرار می‌گیرد و به صورت خلاصه به معنای تزریق وابستگی‌ها است. با استفاده از DI، اشیاء برنامه از وابستگی‌های خود به کلاس‌های دیگر جدا شده و به عنوان پارامتر به آن‌ها تزریق می‌شوند، به طوری که تغییر در یک کلاس، تغییراتی را در کلاس‌های دیگر نیز به دنبال ندارد.

با استفاده از DI، تولید و مدیریت اشیاء به عهده‌ی یک سرویس (معمولاً یک کانتینر وابستگی) قرار می‌گیرد و به برنامه‌نویس اجازه می‌دهد تا به راحتی به اشیاء وابسته‌ی خود دسترسی داشته باشد.

در سی شارپ، DI برای تزریق وابستگی‌ها به سه صورت زیر پیاده‌سازی می‌شود:

  1. Constructor Injection: در این روش، وابستگی‌ها به صورت پارامترهای سازنده کلاس تزریق می‌شوند.
  2. Property Injection: در این روش، وابستگی‌ها به صورت ویژگی‌های کلاس تزریق می‌شوند.
  3. Method Injection: در این روش، وابستگی‌ها به صورت پارامترهای توابع کلاس تزریق می‌شوند.

استفاده از Dependency Injection در سی شارپ، به برنامه‌نویسان کمک می‌کند که کد قابل‌نگهداری، تست و گسترش پذیرتری بسازند و از تکرار وابستگی‌ها و ساختار دهی برنامه جلوگیری کنند.

 

اصول Solid

اصول SOLID یک مجموعه اصول طراحی برای توسعه‌دهندگان نرم‌افزار هستند که توسط رابرت سی. مارتین (Robert C. Martin) معرفی شده‌اند. این اصول برای طراحی نرم‌افزارهای قابل‌توسعه، قابل‌تست و قابل‌نگهداری بسیار مهم هستند. اصول SOLID عبارتند از:

  1. Single Responsibility Principle (SRP) یا اصل مسئولیت‌پذیری تکیه‌گاه: هر کلاس باید تنها یک مسئولیت داشته باشد.
  2. Open/Closed Principle (OCP) یا اصل باز بودن بسته بودن: کلاس‌ها باید برای توسعه باز باشند، اما برای تغییر بسته.
  3. Liskov Substitution Principle (LSP) یا اصل جایگزین‌پذیری لیسکف: زیرکلاس‌ها باید به‌جای کلاس پدر قابل استفاده باشند.
  4. Interface Segregation Principle (ISP) یا اصل جداسازی رابط: باید برای کلاس‌ها تعدادی رابط کوچک و معنادار تعریف کرد، نه یک رابط عظیم و بی‌معنی.
  5. Dependency Inversion Principle (DIP) یا اصل وابستگی برعکس: برای اتصال کلاس‌ها به‌جای وابستگی به کلاس‌های خاص، به‌جای آن باید به ابستگی به رابط‌ها بپردازیم.

استفاده از اصول SOLID در سی شارپ، به برنامه‌نویسان کمک می‌کند که کد قابل‌نگهداری، تست و گسترش‌پذیرتری بسازند و به صورت کلی بهبود قابلیت خواندن، نگهداری و گسترش کد را به‌دنبال داشته باشند.

 

Xaml چیست؟

XAML مخفف عبارت Extensible Application Markup Language است و یک زبان برنامه‌نویسی است که برای توسعه برنامه‌های مبتنی بر ویندوز و وب استفاده می‌شود. این زبان در واقع یک زبان برچسبی XML برای توصیف رابط کاربری (UI) و عناصر گرافیکی برنامه‌های ویندوز است. از XAML برای توصیف اشیاء مانند کنترل‌های ورودی، دکمه‌ها، منوها، فضاهای نمایشی و... استفاده می‌شود.

XAML در توسعه برنامه‌های مبتنی بر WPF (Windows Presentation Foundation) و UWP (Universal Windows Platform) و همچنین در توسعه برنامه‌های مبتنی بر Xamarin استفاده می‌شود. با استفاده از XAML، می‌توانید رابط کاربری برنامه‌ی خود را به صورت شیء‌گرا و قابل گسترش توصیف کنید و با استفاده از کتابخانه‌ها و فریم‌ورک‌هایی مانند WPF، این رابط کاربری را پیاده‌سازی کنید.

 

WPF

PF مخفف عبارت Windows Presentation Foundation است و یک فریمورک برنامه‌نویسی مبتنی بر .NET است که برای توسعه برنامه‌های کاربردی ویندوزی استفاده می‌شود. با استفاده از WPF، می‌توانید رابط کاربری برنامه‌ی خود را با استفاده از اشیاء گرافیکی مانند کنترل‌ها، دکمه‌ها، جداول، چارت‌ها، تصاویر و... طراحی کنید و با استفاده از کدهای برنامه‌نویسی C# یا VB.NET این رابط کاربری را پیاده‌سازی کنید.

WPF از زبان XAML (Extensible Application Markup Language) برای توصیف رابط کاربری استفاده می‌کند که بسیاری از ویژگی‌هایی که در طراحی رابط کاربری نیاز است را فراهم می‌کند. با استفاده از WPF، می‌توانید از انیمیشن‌ها، پویشگرها، شیء‌های 3 بعدی و... استفاده کنید و به آسانی از ویژگی‌های مختلفی مانند قابلیت بررسی کردن و پویا کردن محتوا استفاده کنید. به کمک WPF می‌توانید برنامه‌هایی با رابط کاربری پویا و مدرن طراحی کنید.

مشاهده بیشتر

سرفصل های دوره

مبانی برنامه نویسی - چرا سی شارپ

شروع کار با سی شارپ

آموزش جامع مفاهیم سی شارپ

مفاهیم اولیه شی گرایی

نگاهی به ساختار داده

تاریخ و زمان در سی شارپ

شروع کار با SQL Server

نظرات دانشجویان

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

Amir Mohammad Ghorbani

Amir Mohammad Ghorbani

بلاخره یه دوره عالی در مورد سی شارپ و دات نت

عرض سلام و خسته نباشید خدمت استاد گرامی استاد ممنون بابت دوره فوق العادتون و تدریس عالیتون فقط 2 تا سوال داشتم اول اینکه با این دوره میشه اماده شد واسه بازار کار اگه اره در چه سمتی؟؟ من خودم عاشق حوزه امنیت هستم ولی نمیدونم چی باید یاد بگیرم و دوم اینکه شما گفتید در اینده با visual studio کار میکنید میخاسم بدونم امثال من که سیستم هاشون ضعیفه باید چیکار کنیم؟؟؟ میشه لطفا راهنمایی کنید؟؟؟

عااالی به شدت منتظر ویدیو های این دوره هستم دست مریزاد