
۴۴٬۰۰۰تومان
نوع فایل دانلود: EPUB
پس از خرید، یک فایل EPUB دریافت میکنید.
این فایل با Calibre، Apple Books و سایر کتابخوانهای دیجیتال مناسب است.
مثالهای واقعی و تکنیکهای کاربردی برای برنامهنویسی تابعی در C#؛ بدون اصطلاحات و بحثهای نظری.
در «برنامهنویسی تابعی در C#، ویرایش دوم» یاد میگیرید که:
از توابع مرتبهبالا استفاده کنید تا تکرار کم شود و با کُدِ کمتر کارهای بیشتری انجام دهید
با نوشتن توابع خالص، کدی بسازید که هم تستپذیرتر است و هم بهینهسازی آن آسانتر
APIهایی بنویسید که رفتار برنامهتان را دقیق و خوشخوان توصیف کنند
از نوعهای اختصاصی برای مدیریت پیشبینیپذیر و شیکِ تهیبودن، خطاهای سیستمی و قوانین اعتبارسنجی استفاده کنید
کدی ترکیبپذیر تولید کنید؛ بدون دردسرِ کانتینر IoC
«برنامهنویسی تابعی در C#» به هزاران توسعهدهنده کمک کرده است تا نگاه تابعی را در کدهای C# پیاده کنند. مثالهای عملی و برخورد دقیق و درستِ آن با مفاهیم FP، این کتاب را به راهنمایی عالی برای برنامهنویسان حرفهای C# تبدیل کرده است.
این ویرایش دوم بهطور کامل بازبینی شده تا قابلیتهای جدید الهامگرفته از دنیای تابعی را در جدیدترین نسخههای C# پوشش دهد؛ از جمله tupleها، جریانهای async، تطبیق الگو و recordها. هر فصل پر است از نگاههای جذاب و لحظههای «آها» درباره اینکه برنامهنویسی تابعی چگونه میتواند شیوه کدنویسی شما را تغییر دهد.
خرید نسخه چاپی شامل یک eBook رایگان در قالبهای PDF، Kindle و ePub از Manning Publications است.
درباره فناوری
کدت را در C# پرقدرتتر کن. تکنیکهای خوبِ برنامهنویسی تابعی میتوانند همزمانی، مدیریت وضعیت، رسیدگی به رویدادها و قابلیت نگهداری نرمافزار را بهتر کنند. این کتاب پاسخهای عملی به این میدهد که چرا، چگونه و از کجا باید «برنامهنویسی تابعی» را در تجربه کدنویسی C# خود وارد کنید.
درباره کتاب
«برنامهنویسی تابعی در C#، ویرایش دوم» تفکر تابعی را برای مسائل دنیای واقعی آموزش میدهد. قابلیتهای زبان C# را مرور میکند که به شما اجازه میدهند تابعی برنامهنویسی کنید و سپس با چندین مثال کاربردی، قدرتِ ترکیب توابع، برنامهنویسی مبتنی بر داده و ساختارهای دادهی تغییرناپذیر را نشان میدهد. همه نمونهکدها با .NET 6 و C# 10 کار میکنند.
داخل چه چیزهایی هست
توابع مرتبهبالا برای کاهش تکرار و انجام کار بیشتر با کُد کمتر
کدی که بر پایه توابع خالص نوشته شده باشد، تست و بهینهسازی آن آسان است
نوشتن APIهای خوشخوان که رفتار برنامه را دقیق توصیف میکنند
نوشتن یک Web API با رویکردی تابعی
ترکیب مونادی با LINQ
مخاطب این کتاب
برنامهنویسان میانی C#.
درباره نویسنده
Enrico Buonanno در دانشگاه کلمبیا در رشته علوم رایانه تحصیل کرده و بیش از ۱۵ سال تجربه به عنوان توسعهدهنده، معمار و مدرس دارد.
فهرست مطالب
بخش 1: شروع کار
1 معرفی برنامهنویسی تابعی
2 فکر کردن به شکلِ توابع
3 چرا خالص بودن تابع مهم است
بخش 2: تکنیکهای اصلی
4 طراحی امضای توابع و نوعها
5 مدلکردن نبودِ ممکنِ داده
6 الگوها در برنامهنویسی تابعی
7 طراحی برنامهها با ترکیب توابع
بخش 3: طراحیهای تابعی
8 مدیریت خطا به روش تابعی
9 سازماندهی یک برنامه با توابع
10 کار مؤثر با توابع چندآرگومان
11 نمایش وضعیت و تغییر
12 معرفی کوتاهِ ساختارهای دادهی تابعی
13 رویدادسنجی (Event sourcing): رویکردی تابعی به ماندگاری داده
بخش 4: تکنیکهای پیشرفته
14 محاسباتِ تنبل، continuationها و زیباییِ ترکیب مونادی
15 برنامههای حالتدار و محاسباتِ حالتدار
16 کار کردن با محاسباتِ ناهمزمان
17 مونادهای پیمایشپذیر و مونادهای پشتهای
18 جریانهای داده و Reactive Extensions
19 مقدمهای بر همزمانیِ مبتنی بر ارسال پیام
Real world examples and practical techniques for functional programming in C# without the jargon and theory.In Functional Programming in C#, Second Edition you will learn how to:Use higher-order functions to reduce duplication and do more with less codeUse pure functions to write code that is easy to test and optimizeWrite pleasant APIs that accurately describe your program's behaviorUse dedicated types to handle nullability, system errors, and validation rules predictably and elegantlyWrite composable code without the overhead of an IoC containerFunctional Programming in C# has helped thousands of developers apply functional thinking to C# code. Its practical examples and spot-on treatment of FP concepts makes it the perfect guide for proficient C# programmers. This second edition is fully revised to cover new functional-inspired features in the most recent releases of C#, including tuples, async streams, pattern matching, and records. Each chapter is packed with awesome perspectives and epiphany moments on how functional programming can change the way you code.Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.About the technologyTurbocharge your C# code. Good functional techniques will improve concurrency, state management, event handling, and maintainability of your software. This book gives you practical answers to why, how, and where to add functional programing into your C# coding practice.About the bookFunctional Programming in C#, Second Edition teaches functional thinking for real-world problems. It reviews the C# language features that allow you to program functionally and through many practical examples shows the power of function composition, data-driven programming, and immutable data structures. All code examples work with .NET 6 and C# 10.What's insideHigher-order functions reduce duplication and do more with less codeCode based on pure functions is easy to test and optimizeWrite pleasant APIs that accurately describe your program’s behaviorWrite a Web API in a functional styleMonadic composition with LINQAbout the readerFor intermediate C# programmers.About the authorEnrico Buonanno studied Computer Science at Columbia University and has over 15 years of experience as a developer, architect, and trainer.Table of ContentsPART 1 GETTING STARTED1 Introducing functional programming2 Thinking in functions3 Why function purity mattersPART 2 CORE TECHNIQUES4 Designing function signatures and types5 Modeling the possible absence of data6 Patterns in functional programming7 Designing programs with function compositionPART 3 FUNCTIONAL DESIGNS8 Functional error handling9 Structuring an application with functions10 Working effectively with multi-argument functions11 Representing state and change12 A short introduction to functional data structures13 Event sourcing: A functional approach to persistencePART 4 ADVANCED TECHNIQUES14 Lazy computations, continuations, and the beauty of monadic composition15 Stateful programs and stateful computations16 Working with asynchronous computations17 Traversable and stacked monads18 Data streams and the Reactive Extensions19 An introduction to message-passing concurrency