لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش C# 10 کاربردی
Functional C# 10
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
اگر احساس می کنید که طراحی سنتی شی گرا مانع پیشرفت شما می شود، این دوره به شما یاد می دهد که چگونه از مدل سازی و طراحی عملکردی استفاده کنید تا سرعت توسعه و انعطاف پذیری مدل حاصل را بهبود بخشید. در سال های اخیر، ما شاهد مشخصات زبان سی شارپ هستیم که علاوه بر هسته شی گرا عالی خود، عناصر نحوی عملکردی بیشتری را در خود جای داده است. اما همانطور که پیش میرود، این نوآوریها قبل از اینکه بتوانیم از مزایایی که برای طراحی به ارمغان میآورند لذت ببریم، نیاز به درک صحیح دارند. در این دوره، سی شارپ کاربردی، طراحی انواع دامنه و رفتار با استفاده از تکنیکهای کاربردی و نحو جدید سی شارپ را یاد میگیرید، در حالی که همچنان در زبان برنامهنویسی سی شارپ باقی میمانید. ابتدا، عناصر اصلی را بررسی میکنید که یک طراحی را کاربردی میکنند، برخلاف (بهتر: علاوه بر!) شی گرا. در مرحله بعد، متوجه خواهید شد که چگونه هر یک از عناصر و تکنیک های برنامه نویسی کاربردی به نحو زبان C# نگاشت می شوند. در نهایت، یاد خواهید گرفت که چگونه مدلهای دامنهای با پیچیدگی قابل توجه بسازید، در حالی که به روشها و روشهای برنامهنویسی عملکردی پایبند باشید. وقتی این دوره را به پایان رساندید، مهارت ها و دانش برنامه نویسی تابعی را که برای طراحی و پیاده سازی برنامه های کاربردی کسب و کار در دنیای واقعی به کار می رود، در C# خواهید داشت.
سرفصل ها و درس ها
بررسی اجمالی دوره
Course Overview
بررسی اجمالی دوره
Course Overview
قرار دادن C# در دیدگاه عملکردی
Putting C# Into Functional Perspective
شروع شدن
Getting Started
راه اندازی محیط آزمایشی
Initializing the Demo Environment
نمونه سازی سریع با برنامه های افزودنی کاربردی
Quick Prototyping with Functional Extensions
توابع آهنگسازی
Composing Functions
آنچه در این دوره دنبال می شود
What Follows in This Course
خلاصه
Summary
معرفی انواع و توابع تابعی
Introducing Functional Types and Functions
مدل سازی دامنه با رکوردها
Modeling the Domain with Records
تعریف توابعی که برای یک نوع اعمال می شود
Defining Functions that Apply to a Type
مشاهده یک شی به عنوان کارخانه اشیاء دیگر
Viewing an Object as a Factory of Other Objects
طراحی توابع ترکیب پذیر
Designing Composable Functions
طراحی انواع ترکیب پذیر
Designing Composable Types
اجتناب از پرتاب استثناها از مدل دامنه
Avoiding Throwing Exceptions from the Domain Model
خلاصه
Summary
مدل سازی دامنه با انواع
Modeling the Domain with Types
مدل سازی کسب و کار با انواع
Modeling the Business with Types
دستیابی به یک مدل نوع عمیق
Attaining a Deep Type Model
قدردانی از تفکیک انواع و عملکردها
Appreciating Separation of Types and Functions
راه اندازی یک برنامه کاربردی با مدل عملکردی
Setting up an Application with Functional Model
تعریف توابع در بالای انواع
Defining Functions on Top of Types
خلاصه
Summary
طراحی توابع خالص
Designing Pure Functions
درک جداسازی توابع نامرتبط
Understanding the Separation of Unrelated Functions
تعریف یک نیاز به سبک عملکردی
Defining a Functional-style Requirement
استفاده از تجزیه عملکردی
Applying Functional Decomposition
هل دادن تجزیه عملکردی به حد
Pushing Functional Decomposition to the Limit
طراحی Bitmap
Designing the Bitmap
خلاصه
Summary
استفاده از توابع جزئی کاربردی در مدل سازی
Using Partially Applied Functions in Modeling
زنده ماندن از جهنم پارامترسازی
Surviving the Parameterization Hell
شناسایی برخی پارامترهای تابع به عنوان یک مشکل طراحی
Identifying Some Function Parameters as a Design Problem
معرفی توابع جزئی کاربردی
Introducing Partially-applied Functions
اجرای عملکرد جزئی از طریق نمایندگان
Implementing Partial Function via Delegates
مربوط به نماینده به Func و Action Types
Relating delegate to Func and Action Types
جداسازی پیکربندی از پارامترهای تابع
Separating Configuration from Function Parameters
خلاصه
Summary
جایگزینی ارث با اتحادیه های تبعیض آمیز
Substituting Inheritance with Discriminated Unions
درک نیاز به اتحادیه های تبعیض آمیز
Understanding the Need for Discriminated Unions
تقلید از اتحادیه تبعیض آمیز در سی شارپ
Mimicking a Discriminated Union in C#
تعریف یک کارکرد در اتحادیه تبعیض آمیز
Defining a Function on a Discriminated Union
بهبود خوانایی هنگام استفاده از اتحادیه تبعیض آمیز
Improving Readability When Using a Discriminated Union
استفاده از اتحادیه های تبعیض آمیز در مدل سازی دامنه عمیق
Using Discriminated Unions in Deep Domain Modeling
اجتناب از اشتباه در طراحی انواع
Avoiding Mistakes in Types Design
خلاصه
Summary
مدل سازی اشیاء گمشده
Modeling Missing Objects
شناسایی مشکل اشیاء گمشده
Identifying the Problem with Missing Objects
اختراع اشیاء اختیاری
Inventing Optional Objects
مصرف اشیاء اختیاری
Consuming Optional Objects
پیاده سازی Option<T Type
Implementing the Option<T> Type
مصرف Option<T Type
Consuming the Option<T> Type
خلاصه
Summary
مدل سازی اشیاء دامنه پیچیده
Modeling Complex Domain Objects
معرفی جهش غیر مخرب
Introducing Nondestructive Mutation
اعلام ویژگی های مورد نیاز در یک طرح تغییرناپذیر
Declaring Required Properties in an Immutable Design
درک نیاز به مجموعه ها
Understanding the Need for Collections
طراحی اشیاء تغییرناپذیر که دارای مجموعه هستند
Designing Immutable Objects That Contain Collections
کار با اشیاء قابل انجماد
Working with Freezable Objects
کپسوله کردن مجموعه های تغییرناپذیر
Encapsulating Immutable Collections
نمایش نظرات