بیاموزید که توسعه دات نت به کجا میرود و در آینده برای تسلط بر برنامه نویسی چند پارادایم با سی شارپ به چه طرز فکری نیاز خواهید داشت.
آنچه یاد خواهید گرفت:
در هسته جدیدترین پیشرفتهای زبان سی شارپ، دانش کاملی از مفاهیم کاربردی به کار رفته در فریمورک شیگرا است. در این دوره آموزشی، نوشتن کد کاملاً تابعی در سی شارپ 7، یاد خواهید گرفت که چگونه اصول برنامه نویسی تابعی را در کد #C ساده ترکیب کنید. ابتدا، یاد خواهید گرفت که چه چیزی بین کد تابعی خالص و کد شی گرا تمایز ایجاد میکند. در مرحله بعد، شیوههای نحوی و کدنویسی را بررسی خواهید کرد که به شما امکان میدهد کدهای تابعی خالص را در سی شارپ بنویسید. در نهایت، متوجه خواهید شد که چه چیزی این سبک کدنویسی را در مقایسه با برنامه نویسی شی گرا سنتی بهتر میکند. پس از اتمام این دوره، دانش پایهای در مورد برنامه نویسی تابعی در زبانهای شی گرا بومی خواهید داشت که به شما کمک میکند تا برنامههای تجاری کوتاهتر و تمیزتر بنویسید که در طولانی مدت نگهداری آنها آسانتر است. .
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [2mins]
01-01 Course Overview [2mins]
02 Understanding the Need for Discriminated Unions [27mins]
02-01 Introducing Functional Concepts to C# [5mins]
02-02 Version Check [0mins]
02-03 What Follows in This Course [5mins]
02-04 Understanding Object-style Inheritance [5mins]
02-05 Understanding Discriminated Unions [5mins]
02-06 Until Discriminated Unions Arrive [5mins]
02-07 Summary [2mins]
03 Treating Functions as Objects, Big Time [33mins]
03-01 Working with First-order Functions Only [5mins]
03-02 Understanding the Limitations of First-order Functions [3mins]
03-03 Hiding Dependencies Behind Higher-order Functions [7mins]
03-04 Building Larger Features with Function Composition [6mins]
03-05 Completing the Implementation [2mins]
03-06 Hiding Implementation Behind Partial Function Application [7mins]
03-07 Summary [3mins]
04 Attaining Truly Functional Functions [27mins]
04-01 Reworking the Example in F# [7mins]
04-02 Understanding Partial Function Application [5mins]
04-03 Understanding Delegates and Closures [6mins]
04-04 Understanding How Closures Operate [7mins]
04-05 Summary [2mins]
05 Treating All Objects as Values [32mins]
05-01 Introducing Values to Functions [7mins]
05-02 Understanding the Hashing Principle [6mins]
05-03 Implementing Generic Hashing [4mins]
05-04 GetHashCode Must Produce a Stable Result [3mins]
05-05 Understanding the Equivalence Relation [3mins]
05-06 Implementing the Equivalence Relation in .NET [5mins]
05-07 Implementing the Value Typed Semantic [2mins]
05-08 Summary [2mins]
06 Controlling Execution Flow with Pattern Matching [34mins]
06-01 Understanding Functional Control Flow [6mins]
06-02 Preparing Ground for Pattern Matching [6mins]
06-03 Matching Patterns with Chained Ternary Operators [4mins]
06-04 Making the Data Model Support Pattern Matching [6mins]
06-05 Pattern Matching with the Switch Instruction [6mins]
06-06 Demonstrating the Power and Limitations of Switch [4mins]
06-07 Summary [2mins]
07 Working with Sequences in a Functional Way [38mins]
07-01 What Kind of List Are You? [6mins]
07-02 List Comprehension in C# [5mins]
07-03 Mapping Sequences in Functional Way [8mins]
07-04 The Downside of Lazy Evaluation [4mins]
07-05 Manually Forcing Eager IEnumerable- [5mins]
07-06 Designing the Eager IEnumerable- [7mins]
07-07 Summary [3mins]
08 Treating Sequences as Immutable Objects [33mins]
08-01 Consuming Sequences [6mins]
08-02 Understanding Performance Penalties on Sequences [4mins]
08-03 Reviewing Sequence Optimizations [3mins]
08-04 Introducing Single-element Operations on Sequences [6mins]
08-05 Introducing Immutable Collections [8mins]
08-06 Applying an Immutable Collection [4mins]
08-07 Summary [2mins]
09 Composing Functions into Larger Behavior [33mins]
09-01 Life Beyond Polymorphic Execution [4mins]
09-02 Life Beyond Object Composition [6mins]
09-03 Understanding Composition in Functional Languages [4mins]
09-04 Function Composition at Its Finest [6mins]
09-05 Function Composition in Object-oriented Code [4mins]
09-06 Designing Composable Functions in C# [5mins]
09-07 Summary [4mins]
[فارسی]
01 بررسی اجمالی دوره [2 دقیقه]
01-01 بررسی اجمالی دوره [2 دقیقه]
02 درک نیاز به اتحادیههای تبعیض آمیز [27 دقیقه]
02-01 معرفی مفاهیم کاربردی به سی شارپ [5 دقیقه]
02-02 بررسی نسخه [0 دقیقه]
02-03 آنچه در این دوره دنبال میشود [5 دقیقه]
02-04 درک وراثت به سبک شی [5 دقیقه]
02-05 درک اتحادیههای تبعیض آمیز [5 دقیقه]
02-06 تا رسیدن اتحادیههای تبعیض آمیز [5 دقیقه]
02-07 خلاصه [2 دقیقه]
03 برخورد با توابع به عنوان اشیا، زمان بزرگ [33 دقیقه]
03-01 کار با توابع مرتبه اول فقط [5 دقیقه]
03-02 درک محدودیتهای توابع مرتبه اول [3 دقیقه]
03-03 پنهان کردن وابستگیها در پشت توابع درجه بالاتر [7 دقیقه]
03-04 ساخت ویژگیهای بزرگتر با ترکیب عملکرد [6 دقیقه]
03-05 تکمیل پیادهسازی [2 دقیقه]
03-06 پنهان کردن پیادهسازی در پشت برنامه کاربردی جزئی [7 دقیقه]
03-07 خلاصه [3 دقیقه]
04 دستیابی به عملکردهای واقعاً کاربردی [27 دقیقه]
04-01 کار مجدد مثال در #F [7 دقیقه]
04-02 درک برنامه کاربردی جزئی [5 دقیقه]
04-03 درک نمایندگان و تعطیلات [6 دقیقه]
04-04 درک نحوه عملکرد بستهها [7 دقیقه]
04-05 خلاصه [2 دقیقه]
05 در نظر گرفتن همه اشیا به عنوان ارزش [32 دقیقه]
05-01 معرفی مقادیر توابع [7 دقیقه]
05-02 درک اصل هشینگ [6 دقیقه]
05-03 اجرای درهمسازی عمومی [4 دقیقه]
05-04 GetHashCode باید یک نتیجه پایدار تولید کند [3 دقیقه]
05-05 درک رابطه هم ارزی [3 دقیقه]
05-06 پیادهسازی رابطه هم ارزی در دات نت [5 دقیقه]
05-07 پیادهسازی معنایی تایپ مقدار [2 دقیقه]
05-08 خلاصه [2 دقیقه]
06 کنترل جریان اجرا با تطبیق الگو [34 دقیقه]
06-01 درک جریان کنترل عملکردی [6 دقیقه]
06-02 آمادهسازی زمینه برای تطبیق الگو [6 دقیقه]
06-03 تطبیق الگوها با عملگرهای سه تایی زنجیر شده [4 دقیقه]
06-04 تطبیق الگوی پشتیبانی مدل داده [6 دقیقه]
06-05 تطبیق الگو با دستورالعمل سوئیچ [6 دقیقه]
06-06 نشان دادن قدرت و محدودیتهای سوئیچ [4 دقیقه]
06-07 خلاصه [2 دقیقه]
07 کار با سکانسها به روشی کاربردی [38 دقیقه]
07-01 شما چه نوع لیستی هستید؟ [6 دقیقه]
07-02 درک لیست در سی شارپ [5 دقیقه]
07-03 نقشه برداری توالیها به روش کاربردی [8 دقیقه]
07-04 جنبه منفی ارزیابی تنبل [4 دقیقه]
07-05 اجبار دستی Eager IEnumerable«T» [5 دقیقه]
07-06 طراحی Eager IEnumerable«T» [7mins]
07-07 خلاصه [3 دقیقه]
08 در نظر گرفتن توالی به عنوان اشیاء تغییرناپذیر [33 دقیقه]
08-01 سکانسهای مصرفی [6 دقیقه]
08-02 درک پنالتیهای عملکرد در سکانسها [4 دقیقه]
08-03 بررسی بهینهسازیهای توالی [3 دقیقه]
08-04 معرفی عملیات تک عنصری روی دنبالهها [6 دقیقه]
08-05 معرفی مجموعههای غیرقابل تغییر [8 دقیقه]
08-06 اعمال یک مجموعه تغییرناپذیر [4 دقیقه]
08-07 خلاصه [2 دقیقه]
09 نوشتن توابع به رفتار بزرگتر [33 دقیقه]
09-01 زندگی فراتر از اعدام چند شکلی [4 دقیقه]
09-02 زندگی فراتر از شیء [6 دقیقه]
09-03 درک ترکیببندی در زبانهای کاربردی [4 دقیقه]
09-04 ترکیب عملکرد در بهترین حالت خود [6 دقیقه]
09-05 ترکیب تابع در کد شی گرا [4 دقیقه]
09-06 طراحی توابع قابل ترکیب در سی شارپ [5 دقیقه]
09-07 خلاصه [4 دقیقه]
زوران هوروات مشاور اصلی در شرکت مشاوره کدینگ کلاه ایمنی، سخنران و نویسنده بیش از 100 مقاله، و مربی مستقل در پشته فناوری دات نت است. او اغلب در کنفرانسها و گروههای کاربری صحبت میکند، سبک توسعه شیگرا و شیوهها و تکنیکهای کدنویسی تمیز را ترویج میکند که طول عمر برنامههای تجاری پیچیده را بهبود میبخشد.