دوره آموزش جامع و کاربردی سی شارپ

اگر به نیازمندی های بازار کار در زمینه NET. در سایت های استخدامی نگاهی انداخته باشید، یا حداقل برای استخدام به تعدادی از شرکت ها و سازمان های دولتی مراجعه کرده باشید، اولین مواردی را که از شما انتظار دارند به شکل زیر است:

  • تسلط شما به زبان سی شارپ در چه حدی است؟
  • آیا با برنامه نویسی شی گرا (Object Oriented Programing) آشنا هستید؟
  • آیا با SQL Server آشنا هستید و توانایی طراحی دیتابیس را دارید؟
  • آیا به Entity Framework Core تسلط دارید؟
  • میزان آشنایی شما با اصول طراحی SOLID و استفاده از الگوهای طراحی برای ساخت پروژه های تمیز و حرفه ای
  • آیا با مباحث معماری نرم افزار آشنا هستید و می توانید یک پروژه را با استفاده از معماری تمیز (Clean Architecture) پیاده سازی کنید؟

چرا یادگیری زبان سی شارپ؟

۱. موقعیت جهانی #C در بازار کار

  • حضور قوی در شرکت های بزرگ و سازمانی: زبان #C یکی از زبان های اصلی برای توسعه نرم افزارهای سازمانی است، به ویژه با فریمورک NET. و ASP.NET CORE که در شرکت های بزرگ، بانک ها، بیمه ها و صنایع مالی بسیار رایج است.
  • بازی سازی: سی شارپ زبان رسمی و اصلی موتور بازی سازی محبوب Unity است. به همین دلیل، بازار کار قوی در حوزه بازی سازی دارد، مخصوصا در استودیوهای بازی سازی و شرکت های توسعه بازی موبایل و کنسول.
  • توسعه وب و دسکتاپ: استفاده گسترده در توسعه وب با ASP.NET Core و برنامه های دسکتاپ ویندوزی (WPF).
  • پشتیبانی از چندسکویی: از طریق Xamarin و اخیراً NET MAUI. می توانید برنامه های چندسکویی موبایل بنویسید. این فریم ورک ها به شما اجازه می دهند با یک codebase مشترک، اپلیکیشن های اندروید و آیفون توسعه دهید.

۲. تقاضا و فرصت های شغلی

در کشورهای توسعه یافته مثل آمریکا، کانادا، آلمان، بریتانیا و استرالیا تقاضا برای توسعه دهندگان #C بالاست، به خصوص در صنایع سازمانی بزرگ (بخش مالی، بیمه، بهداشت و درمان و …). شرکت ها اغلب به دنبال توسعه دهندگان با تجربه در فریمورک NET. ، آشنایی با REST API ،Azure و امنیت نرم افزار هستند. در بازار جهانی بازی سازی، #C یکی از مهارت های پرتقاضا است، مخصوصا برای استودیوهای کوچک و متوسط. Unity که یکی از محبوب ترین موتورهای بازی سازی است، به شدت به توسعه دهندگان #C وابسته است.

3. چشم انداز آینده

  • پشتیبانی مایکروسافت: زبان سی شارپ تحت حمایت مایکروسافت است و دائما به روزرسانی می شود.
  • گسترش حوزه ها: با رشد حوزه های ابری و اینترنت اشیاء (IoT)، استفاده از #C در پروژه های جدید در حال افزایش است.
  • پایداری و ثبات: شرکت های بزرگ سازمانی معمولاً نمی آیند زبان پایه سیستم ها را به سرعت تغییر دهند، لذا زبان هایی مثل سی شارپ که زیرساخت بزرگی دارند، پایداری خوبی دارند. شرکت های بزرگ بانکی، بیمه، و سازمان های دولتی که نرم افزارهای پیچیده دارند، معمولاً #C و دات نت را ترجیح می دهند.

به طور کلی زبان سی شارپ بازار کار جهانی پایدار و مناسبی دارد، خصوصاً در پروژه های سازمانی بزرگ، صنعت بازی سازی و توسعه وب/سرویس ها.

آموزش تخصصی و کاربردی برنامه نویسی

درباره دوره جامع و کاربردی آموزش سی شارپ

با توجه به فراگیر شدن استفاده از پلتفرم NET. به همراه سیستم مدیریت پایگاه داده SQL Server به منظور انجام پروژه های ویندوز، تحت وب، سرویس های ویندوزی، API ها و حتی برنامه های موبایل در ابعاد متوسط و بزرگ، دوره ی آموزش جامع #C را که شامل آموزش پایه تا پیشرفته ی این زبان است را برای کاربران محترم وب سایت آموزشی آتریا تهیه و آماده کرده ایم. این دوره متشکل از چند بخش کلی ( آموزش سی شارپ، آموزش SQL Server 2022، آموزش LINQ، آموزش Entity Framework Core و آموزش معماری تمیز ) می باشد که معمولا در کلاس های حضوری به صورت دوره هایی مستقل و جداگانه ارائه می گردند. اما در این دوره آموزشی تلاش کردیم تا این چند دوره را در یک دوره جامع گردآوری کنیم تا شما با صرف هزینه ای کمتر و به صورت پیوسته و منظم بتوانید تمامی این مطالب را به صورت کامل و کاربردی یاد بگیرید. در دوره آموزش سی شارپ، مفاهیم از ابتدا به صورت کامل و روان آموزش داده می شود و در پایان هر فصل سعی شده است تا با انجام نمونه مثال هایی، مطالب آموزشی بصورت کاملا کاربردی ارائه شود. علاوه بر این در پایان این دوره، پروژه ای را با استفاده از معماری تمیز طراحی و پیاده سازی می کنیم تا شما با نحوه انجام پروژه های برنامه نویسی با استفاده از معماری های Domain Centric آشنا شوید.

اما اگر بخواهیم به صورت خلاصه به آنچه در این دوره آموزشی گفته شده است بپردازیم، می توانیم این دوره را در 5 محور اصلی مورد بررسی قرار دهیم:

بخش اول: آموزش سی شارپ (C#)

زبان برنامه نویسی #C یکی از قدرتمندترین زبان های موجود در جهان است. شرکت سازنده این زبان یعنی مایکروسافت از سال ۲۰۰۰ تا الان در حال توسعه این زبان محبوب است. در حال حاضر #C دارای ویژگی هایی است که برنامه نویسی را برای شما بسیار ساده تر می کند.

آموزش سی شارپ (c#)
به کمک تکنولوژی های همراه سی شارپ می توان انواع برنامه های دسکتاپ، برنامه های تحت وب، سرویس های ویندوزی، API ها و حتی برنامه های موبایل را طراحی کرد. بنابراین سی شارپ حتما یکی از بهترین انتخاب های ورود به دنیای برنامه نویسی حرفه ای است.

شرکت ها و سازمان های فراوانی نرم افزار های سازمانی خود را با زبان #C طراحی کرده اند و سامانه های تحت وب بسیار زیادی به کمک #C و تکنولوژی های همراه آن پیاده سازی شده اند.

در دوره آموزش سی شارپ مفاهیم و مباحث برنامه نویسی به صورت قدم به قدم آموزش داده می شود. به خصوص برنامه نویسی شی گرا (Object Oriented Programming) که بحث بسیار مهمی در برنامه نویسی هست و به همین خاطر در این بخش به صورت مفصل و کامل در چند فصل به بحث شیء گرایی در سی شارپ پرداخته شده است تا شما درک عمیقی نسبت به برنامه نویسی شیء گرا پیدا کنید. همچنین قابلیت های جدیدی که طی چند سال اخیر در نسخه های مختلف زبان سی شارپ (C# 8 ، C# 9 ، C# 10 ، C# 11 ، C# 12) به زبان سی شارپ اضافه شده است را به طور کامل و در فصل های مجزا بررسی کرده ایم.

بخش دوم: آموزش SQL Server 2022

SQL Server یکی از سیستم های مدیریت پایگاه های داده رابطه ای (Relational) است که توسط شرکت مایکروسافت ارائه شده است.

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

SQL Server دارای محیطی گرافیکی بسیار روان است و پیچیده ترین کارها را برای شما به ساده ترین روش های ممکن، فراهم آورده است.

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

در دوره آموزش سی شارپ شما به خوبی تجزیه و تحلیل دیتابیس، طراحی دیتابیس، کوئری نویسی، Backup گرفتن از دیتابیس، Transaction ها، انتقال داده ها از اکسل به SQL Server و برعکس، BULK INSERT و … را یاد می گیرید تا دانش کار با پایگاه داده SQL Server را به دست بیاورید.

همچنین برای ارتباط با دیتابیس SQL Server ما تکنولوژی Entity Framework Core را بررسی می کنیم.

بخش سوم: آموزش LINQ

آموزش LINQ
پلتفرم NET. مایکروسافت و زبان هایی مثل سی شارپ به بلوغ رسیده اند، اما یکی از مشکل سازترین حوزه هایی که هنوز برای توسعه دهندگان باقی مانده است، دسترسی به داده ها از منابع مختلف داده است. به ویژه، دسترسی به پایگاه داده که اغلب در بهترین حالت دست و پا گیر و در بدترین حالت مشکل ساز است. مشکلات پایگاه داده بسیار زیاد است. اول، این مسئله وجود دارد که ما نمی توانیم به صورت برنامه نویسی با پایگاه داده در سطح زبان native تعامل داشته باشیم. این بدان معناست که خطاهای نحوی اغلب تا زمان اجرا شناسایی نمی شوند. فیلدهای پایگاه داده که به اشتباه ارجاع داده شده اند نیز شناسایی نمی شوند. این می تواند فاجعه آمیز باشد، به خصوص اگر این اتفاق در هنگام اجرای کد مدیریت خطا رخ دهد.

دوران نوشتن یک کوئری SQL در یک string و عدم شناسایی خطای نحوی تا زمان اجرا (runtime) گذشته است.

LINQ مخفف عبارت Language-Integrated Query است و در سال 2005 توسط مایکروسافت معرفی شد. LINQ یک راه حل یکسان برای ارتباط برقرار کردن و بازیابی داده ها از هر منبع داده ای که اینترفیس IEnumerable را پیاده سازی کرده باشد فراهم می کند. به وسیله LINQ می توان داده ها را از هر منبع داده ای شامل آرایه ها، مجموعه های حافظه، پایگاه های داده، اسناد XML و … با گرامری مشابه بازیابی کرد.

در دوره آموزش سی شارپ تکنولوژی LINQ به صورت کامل در چند فصل آموزش داده می شود و  همچنین به تغییرات و به روز رسانی های جدید LINQ در طول این سال ها پرداخته می شود.

بخش چهارم: آموزش Entity Framework Core

Entity Framework Core تکنولوژی کار با اطلاعات و ارتباط با پایگاه داده است که توسط شرکت مایکروسافت طراحی و پیاده سازی شده است.

آموزش Entity Framework Core
تکنولوژی Entity Framework Core با سرعت و دقت فوق العاده بالایی که دارد، گزینه بسیار مناسبی برای پروژه های نرم افزاری که بر اساس Net. نوشته اند، می باشد. در این دوره آموزشی مباحث نصب و راه اندازی Entity Framework Core، کار با کلاس DbConext، Mapping، Migration و … بررسی و پیاده سازی شده است.

بخش پنجم: پروژه عملی (طراحی برنامه مدیریت کتابخانه در قالب معماری تمیز)

یکی از اصلی ترین اهداف معماری نرم افزار، تمرکز کامل بر روی Business و فرآیندهای آن و جداسازی کامل آن از دغدغه های فنی و جزئیات پیاده سازی می باشد. زمانی که می خواهیم یک نرم افزار بزرگ با قابلیت ها و کارکردهای پیچیده، با حجم بالایی از اطلاعات را بنویسیم، باید آن را طوری طراحی و معماری کنیم که هم Scaleable (مقیاس پذیر) و هم Maintainable (قابل تعمیر و نگهداری) باشد و به راحتی و بدون تولید خطا، بتوانیم نرم افزار را Refactor (بهبود پیوسته کیفیت کدهای نوشته شده در طی زمان، بدون ایجاد تغییری در عملکرد اصلی برنامه است) کنیم یا امکانات (Features) جدیدی را به آن اضافه کنیم. همه این کارها بستگی به این دارد که آیا از معماری مناسبی برای پروژه استفاده کرده ایم یا خیر. اگر برای یک پروژه بزرگ با مشخصات گفته شده، از معماری نامناسبی استفاده کنیم، قطعا در آینده قادر به تغییرات در نرم افزار یا تغییر تکنولوژی و آپدیت آن نخواهیم بود و چاره ای جز بازنویسی آن نخواهیم شد.

همانطور که می دانید جهت جداسازی بخش های مختف نرم افزار، نرم افزار به لایه های مختلف تقسیم می شود که هر یک بر روی یک بخش از نرم افزار تمرکز دارند. این معماری با نام معماری لایه ای (Layered Architecture) شناخته می شود. معماری لایه ای سنتی اغلب با رویکرد داده محوری (Data-Driven) طراحی و استفاده می شد. با گذشت زمان و پیچیده تر شدن نرم افزارها تغییرات عمده ای در معماری لایه ای پدید آمد و معماری هایی مانند معماری تمیز (Clean Architecture) مطرح شدند.

معماری تمیز (Clean Architecture)
در این معماری هر لایه، به لایه ی داخلی تر وابسته بوده و به آن دسترسی دارد. لایه های داخلی هیچ Reference و اشاره ای به لایه های بالاتر ندارند. در این معماری، لایه ی Domain، داخلی ترین لایه بوده و به هیچ لایه ی بیرونی وابستگی ندارد. این معماری با تکیه بر اصل Dependency Inversion تمام وابستگی های لایه ی Domain را در قالب Interface ها در اختیار آن قرار می دهد تا این لایه از جزئیات پیاده سازی و وابستگی به ابزارهای زیر ساختی در امان باشد.

در بسیاری از دوره های آموزشی موجود در وب، هیچگاه طراحی و معماری به شما تدریس نخواهد شد. حتی در پروژه های نهایی این دوره های آموزشی، از معماری 3 لایه سنتی استفاده می شود که ضعف های بسیاری داشته و از یک معماری خوب بسیار فاصله دارد. ما در این دوره نه تنها Clean Architecture، بلکه تفکر معماری و تفکر طراحی را به شما آموزش می دهیم. اینکه چطور نرم افزار های بزرگ را به بخش های کوچکتر تقسیم کرده و هر بخش را به صورت مستقل پیاده سازی و توسعه دهید. برای این منظور سیستم مدیریت کتابخانه را در قالب معماری تمیز طراحی می کنیم تا شما با نحوه نوشتن پروژه و حتی اینکه از کجا شروع به نوشتن پروژه کنید آشنا شوید.

سرفصل دوره

 

مبانی برنامه نویسی (3 قسمت)

 

آموزش الگوریتم نویسی (4 قسمت)

 

آشنایی و کار با زبان برنامه نویسی سی شارپ (11 قسمت)

 

ساختارهای کنترلی (Control Structures) (11 قسمت)

 

توابع در سی شارپ (functions) (8 قسمت)

 

آرایه ها در سی شارپ (8 قسمت)

 

تجزیه، تحلیل و طراحی شی گرا (Object Oriented Analysis And Design) (4 قسمت)

 

برنامه نویسی شیء گرا (Object Oriented Programming) بخش اول (7 قسمت)

 

برنامه نویسی شیء گرا (Object Oriented Programming) بخش دوم (7 قسمت)

 

برنامه نویسی شیء گرا (Object Oriented Programming) بخش سوم (21 قسمت)

 

برنامه نویسی شیء گرا (Object Oriented Programming) بخش چهارم (6 قسمت)

 

انواع داده ها در سی شارپ (C# Data Types) (7 قسمت)

 

طراحی و پیاده سازی برنامه Notepad (10 قسمت)

 

جنریک ها در سی شارپ (C# Generics) (8 قسمت)

 

کالکشن ها در سی شارپ (C# Collections) (8 قسمت)

 

مدیریت خطا در سی شارپ (Exception Handling) (6 قسمت)

 

Delegate ها در سی شارپ (10 قسمت)

 

کار با فایل ها و JSON در سی شارپ (7 قسمت)

 

Asynchronous programming و … (7 قسمت)

 

شروع کار با SQL Server (9 قسمت)

 

آشنایی با تعریف کاربران، لاگین ها و Schema (6 قسمت)

 

تحلیل و طراحی پایگاه داده (14 قسمت)

 

آشنایی با دستورالعمل های پایه T-SQL (11 قسمت)

 

Clauses in SQL Server and Collation (7 قسمت)

 

Joins در SQL Server (7 قسمت)

 

نگهداری از پایگاه های داده در SQL Server (7 قسمت)

 

View ها و Store Procedure ها در SQL Server (8 قسمت)

 

آموزش Function ها، Trigger ها و Transaction در SQL Server (10 قسمت)

 

آموزش LINQ بخش اول (11 قسمت)

 

آموزش LINQ بخش دوم (15 قسمت)

 

آموزش LINQ بخش سوم (7 قسمت)

 

ویژگی های جدید در سی شارپ 6 (C# 6 New Features) (8 قسمت)

 

ویژگی های جدید در سی شارپ 7 (C# 7 New Features) (9 قسمت)

 

ویژگی های جدید در سی شارپ 8 (C# 8 New Features) (13 قسمت)

 

ویژگی های جدید در سی شارپ 9 (C# 9 New Features) (4 قسمت)

 

ویژگی های جدید در سی شارپ 10 (C# 10 New Features) (4 قسمت)

 

ویژگی های جدید در سی شارپ 11 و 12 (C# 11 and 12 New Features) (7 قسمت)

 

آموزش Entity Framework Core بخش اول (8 قسمت)

 

آموزش Entity Framework Core بخش دوم (8 قسمت)

 

آموزش Entity Framework Core بخش سوم (10 قسمت)

 

آموزش Entity Framework Core بخش چهارم (7 قسمت)

 

آموزش Entity Framework Core بخش پنجم (10 قسمت)

 

آموزش Entity Framework Core بخش ششم (8 قسمت)

 

اصول SOLID (5 قسمت)

 

Dependency Injection – Service Lifetimes (8 قسمت)

 

پروژه عملی: طراحی برنامه مدیریت کتابخانه در قالب معماری تمیز – بخش اول (10 قسمت)

 

پروژه عملی: طراحی برنامه مدیریت کتابخانه در قالب معماری تمیز – بخش دوم (9 قسمت)

 

پروژه عملی: طراحی برنامه مدیریت کتابخانه در قالب معماری تمیز – بخش سوم (13 قسمت)