دوره آموزشی سی شارپ پیشرفته: الگوهای برنامهنویسی تابعی
3 ساعت 11 دقیقهپیشرفته2024-12-02
مدرسین

Walt Ritscher
Programmer, UI Designer, Staff Instructor at LinkedIn Learning

Learn-it Labs
جزئیات دوره
این دوره که برای توسعهدهندگان حرفهای طراحی شده است، توسط والت ریچر (Walt Ritscher) ارائه میشود و شما را با اصول و مفاهیم پیشرفته برنامهنویسی تابعی در زبان C# آشنا میکند. این دوره به شما آموزش میدهد چگونه توابع خالص (Pure Functions) بنویسید و توابع ناخالص (Impure Functions) را با هدف کاهش اثرات جانبی بازنویسی کنید. همچنین خواهید آموخت که چگونه از توابع مرتبه بالاتر (Higher-Order Functions)، انواع غیرقابل تغییر (Immutable Types) و مفاهیم تابعی برای بهبود قابلیت اطمینان و نگهداری کد استفاده کنید.
این دوره به بررسی الگوهایی مانند مونادها (Monads)، کرینگ (Currying)، و ترکیب توابع (Function Composition) میپردازد. همچنین استفاده از LINQ برای فیلتر کردن، تبدیل، و نگاشت دادهها به صورت کارآمد آموزش داده میشود. علاوه بر این، نحوه ایجاد و استفاده از نوع Either برای مدیریت خطاها و همچنین نحوه مدیریت تصادفی بودن (Randomness) در برنامهنویسی تابعی را یاد میگیرید.
این دوره برای توسعهدهندگان نرمافزار، علاقهمندان به برنامهنویسی، و هر کسی که به دنبال ارتقای مهارتهای خود با تکنیکهای برنامهنویسی تابعی است، ایدهآل است. در پایان این دوره، قادر خواهید بود کدی تمیز، مطمئن و کارآمد در C# بنویسید و دیدگاه برنامهنویسی تابعی را در پروژههای خود به کار ببرید.
این دوره به بررسی الگوهایی مانند مونادها (Monads)، کرینگ (Currying)، و ترکیب توابع (Function Composition) میپردازد. همچنین استفاده از LINQ برای فیلتر کردن، تبدیل، و نگاشت دادهها به صورت کارآمد آموزش داده میشود. علاوه بر این، نحوه ایجاد و استفاده از نوع Either برای مدیریت خطاها و همچنین نحوه مدیریت تصادفی بودن (Randomness) در برنامهنویسی تابعی را یاد میگیرید.
این دوره برای توسعهدهندگان نرمافزار، علاقهمندان به برنامهنویسی، و هر کسی که به دنبال ارتقای مهارتهای خود با تکنیکهای برنامهنویسی تابعی است، ایدهآل است. در پایان این دوره، قادر خواهید بود کدی تمیز، مطمئن و کارآمد در C# بنویسید و دیدگاه برنامهنویسی تابعی را در پروژههای خود به کار ببرید.
مهارت ها
C#Programming FoundationsAdvancedProgramming LanguagesMicrosoftSoftware Development
سرفصل ها
مقدمه
- الگوهای برنامه نویسی کاربردی
- آنچه باید بدانید
- نحوه دسترسی به کد نمونه در GitHub
بررسی اجمالی
- برنامه نویسی تابعی چیست
- اصول اصلی برنامه نویسی تابعی
- عوارض جانبی ایجاد نکنید
- Monads، currying و اصطلاحات دیگر
- بخشهای کاربردی سی شارپ
از توابع خالص حمایت کنید
- دسته بندی توابع
- توابع خالص را برای کد بهتر بنویسید
- مثال تابع ناخالص
- تابع ناخالص را به خالص تبدیل کنید
- کاهش عوارض کد
- مثال عوارض جانبی Refactor
- آرگومانهای ورودی را تغییر ندهید
- از آرگومان تغییرناپذیر استفاده کنید
- در مورد خواص طبقه ناخالص چطور
عوارض جانبی و IO
- کار با فایل ها
- مجموع را در یک تابع خالص محاسبه کنید
- فیلتر با LINQ Where
توابع عملکردی
- مفاهیم تابع عملکردی
- از Func T برای توابع درجه یک استفاده کنید
- مرتبه بالاتر - LINQ
- مرتبه بالاتر - مثال فیلتر
- مرتبه بالاتر - مثال تبدیل
- برگرداندن تابع از فراخوانی تابع
انواع غیر قابل تغییر
- اصول انواع لایتغیر
- مثال ساده تغییرناپذیر
- اصول بیشتر
- خواص فقط خواندنی
- روش نمونه در نوع تغییرناپذیر
- از روشهای کمکی برای ایجاد نمونه جدید استفاده کنید
- از روش کارخانه برای ایجاد نمونه استفاده کنید
Expressions را انتخاب کنید
- چرا عبارات برای برنامههای کاربردی بهتر است
- چند نمونه از عبارات سی شارپ
- عبارت IF را با عبارت بازنویسی کنید
- عبارت SWITCH را با عبارت بازنویسی کنید
- FOREACH را با عبارت بازنویسی کنید
- تابع IsPrime به عنوان یک عبارت
ترکیب تابع و خط لوله
- الگوهای ترکیب بندی را یاد بگیرید
- توابع را بنویسید
- لوله کشی با روشهای گسترش
- لوله گذاری با روشهای عمومی
- لوله گذاری با IEnumerable
با لیستها کار کنید
- نقشه و مفاهیم دیگر را درک کنید
- نقشه با LINQ SELECT
- نقشه به نوع دیگری
- با LINQ WHERE فیلتر کنید
- با SelectMany صاف کنید
- با SelectMany بپیوندید
- با SUM و AGGREGATE تا کنید
تصادفی
- تصادفی بودن در برنامه نویسی تابعی
- یک کلاس تصادفی کاربردی
- محدوده کوچکتری از اعداد تصادفی را مشخص کنید
- روشهای گسترش برای انواع مختلف
- یک لیست تصادفی ایجاد کنید
- ترتیب یک لیست را تصادفی کنید
سایر انواع عملکردی
- VOID را با کلاس UNIT جایگزین کنید
- OPTION را جایگزین NULL کنید
- هر نوع را برای رسیدگی به خطا کاوش کنید
به سفر خود ادامه دهید
- مراحل بعدی