پیشنهاد فرادرس

آشنایی با سی شارپ تابعی

دسته بندی ها: دات نت ، آموزش های Packtpub ، آموزش سی شارپ | C#.NET ، برنامه نویسی تابعی

برنامه ‌نویسی تابعی (Functional programming) یک شیوه از کد نویسی است که درآن به جای استفاده از حلقه‌ها ودستورات شرطی فقط از فراخوانی توابع خالص (pure functions) استفاده می‌کنیم.  همچنین داده‌ ها در این شیوه برنامه ‌نویسی تغییرناپذیرهستند. با پیچیده ترشدن برنامه هایC#درک آنها دشوار تر می شود، و در نتیجه نگهداری آنها نیز سخت تر می شود. در این دوره آموزشی، ما چند روش جدید از برنامه ‌نویسی تابعی برای رفع این مشکل و افزایش خوانایی، تست پذیری، و ساخت یافته شدن کد های برنامه ارائه می کنیم. در این دوره برخی از مفاهیم پایه مربوط به برنامه ‌نویسی تابعی ارائه خواهد شد و پیشنهاد می شود که از ویژگی های توابعC# در برنامه نویسی روزانه خود استفاده کنید. با اینکهC# عمیقا بطورشیگرا طراحی شده است، ولی ما مقداری بر روی برنامه ‌نویسی تابعی متمرکز می شویم، که براحتی می توان این روش برنامه نویسی را در C# بکار برد. مانند: فناوری LINQ، توابع خالص، سبک dot-chaining (نام مستعار برای ترکیبپذیریcomposability ). ما اصطلاحات برنامه نویسی تابعی مانندmonads و functors را بطور خیلی دقیق بررسی نمی کنیم، بلکه بجای آن، نمونه هایی واقعی از نحوه استفاده از ویژگی های تابعی در C# را نشان می دهیم. با مطالعه این دوره، شما قابلیت نگهداری و تست پذیری برنامه کاربردی خود را افزایش خواهید داد و از اعتماد به نفس لازم، برای شروع یک پروژه جدید در برنامه ‌نویسی تابعی، برخوردار خواهید شد.

مباحث دوره:

  • فوت و فن برنامه نویسی تابعی با C# را بیاموزید
  • ویژگی های برنامه نویسی تابعی درC#
  • نمایش Books App
  • نصب Visual Studio نسخه Community
  • بازسازی و بازنویسی حلقه for
  • حلقهfor
  • تعریف مشکلات استفاده از حلقه for
  • ایجاد اولین اینترفیسIEnumerable خود
  • بازسازی و بازنویسی حلقهfor با استفاده از foreach
  • استفاده از LINQ
  • ایجاد اولین دستور LINQ
  • فناوریLINQ تنبل
  • پیاده سازی جستجو به کمک عنوان
  • بستاریاکلوژر و LINQ Pitfall
  • توسعه LINQ
  • فناوری LINQ با یک متد قدیمی ساده
  • متد Extension در LINQ
  • بردن یک متد به LINQ Extension
  • کد تمیز بها استفاده از توابع خالص
  • توابع خالص
  • پیاده سازی کتاب توصیه شده
  • بازسازی متد Global State Out
  • ایزوله کردن اثرات جانبی
  • پیاده سازی Delete Book
  • پیاده سازیAdd Book
  • بیرون کشیدن اثراتجانبی
  • قراردادن برنامه های کاربردی با هم
  • نوشتن اولین تست واحد خود برای تست هربخش از برنامه و کد به صورت جداگانه
  • تست توابع خالص
  • ترزیق وابستگی
آیا این نوشته را دوست داشتید؟
Hands-On Functional C# [Video] Publisher:Packtpub Author:Georgi Parlakov Duration:2 hours 43 minutes

Get a new perspective on C# code using the Functional Programming approach. Write better C# code with practical examples
When C# programs get more complex, they become hard to understand, and as a result are much harder to maintain. We suggest a few approaches from Functional Programming to resolve this and make the code readable, reusable, testable and structured.
This course will present some basic Functional Programming ideas and suggest how to make use of the functional features of C# in your everyday work. As C# is deeply object-oriented by design, we'll concentrate on the bits of Functional Programming that are easily applicable to it—such as LINQ, pure functions, and dot-chaining (aka composability). We won't explore functional terms such as monads and functors in too much detail; rather we provide examples of real C# using functional features. You'll improve the maintainability and testability of your application and gain the confidence to start a new project with Functional Programming paradigms.
All the code and supporting files for this course are available at: https://github.com/PacktPublishing/Hands-on-Functional-C-sharp
Style and Approach
A comprehensive course packed with practical examples and helpful advice on getting started with exploring different Functional Programming features in C#. This course is divided into clear chunks so you can learn at your own pace and focus on your own area of interest.
Released: Friday, November 30, 2018
Getting to Grips with Functional C#
The Course Overview
Features of Functional Programming in C#
Presenting the Books App
Installation of Visual Studio Community Edition
Refactor the ‘for’ Loop
The ‘for’ loop
Defining the Pain Points of Using ‘for’ Loop
Creating Your First IEnumerable
Refactoring the ‘for’ Loop Using ‘foreach’
Using LINQ
Creating Your First LINQ Expression
Lazy LINQ
Implement Search by Title
Closures and LINQ Pitfall
Extending LINQ
LINQ with a Plain Old Method
LINQ Extension Method
Port a Method to LINQ Extension
Clean Code with Pure Functions
Pure Functions
Implement Recommend Book
Refactor Global State Out
Implement Select Book
Isolating the Side Effects
Implement Delete Book
Implement Add Book
Push Side Effects Out
Putting the Application Together
Writing Your First Unit Test
Testing Pure Functions
Dependency Injection
Summary

پیشنهاد فرادرس