آموزش API در سی شارپ: بهترین روش‌های طراحی و پیاده‌سازی

API in C#: The Best Practices of Design and Implementation

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: آموزش نوشتن کدهای تمیز در سی شارپ. طراحی و پیاده سازی API بر اساس بهترین شیوه های توسعه یافته توسط انجمن NET. طراحی و پیاده سازی یک نوع یا یک API با مراقبت از کاربران آن. انواع را کپسوله کنید تا دیگر برنامه نویسان از شما متنفر نباشند. کدنویسی به سبکی خوب باعث می‌شود کد در هدفش واضح‌تر شود. کد را اصلاح کنید تا خواندن و درک آن بسیار بهتر شود. استثناها را به درستی پرتاب کنید و مدیریت کنید. تصمیم بگیرید که نظر دادن قسمت خاصی از کد ایده خوبی است یا خیر. به هر حال، کدام نظرات مفید هستند و کدام نه؟ مقابله با مقادیر Null پیش ها: شما باید از قبل با مبانی سی شارپ آشنا باشید. از قبل باید کمی تمرین با ویژوال استودیو داشته باشید.

            نحوه طراحی و پیاده‌سازی انواع در سی شارپ را بیاموزید تا دیگر توسعه‌دهندگان هنگام استفاده از یکی از انواع توسعه‌یافته شما از شما متنفر نشوند. این بدان معناست که شما می خواهید یاد بگیرید که چگونه کدهایی با کیفیت بالا بنویسید: خوانا، قابل فهم و قابل اعتماد.

دانش خود را در برنامه نویسی شی گرا در زمینه کدنویسی تمیز و ساخت انواع با کیفیت بالا ارتقا دهید.

  • ویژگی های یک نوع خوب طراحی شده را درک کنید

  • اصول توسعه API راحت را درک کنید

  • کد تمیز بنویسید، از شر بوی نامطبوع خلاص شوید

  • درباره موارد استثنایی و نحوه پرتاب و گرفتن صحیح آنها بیاموزید

  • از انواع خود در برابر استفاده نادرست که آنها را به درستی کپسوله می کند محافظت کنید.

مبانی ساخت زیرساخت های شی گرا

  علی‌رغم اینکه C# یک زبان ویژگی‌های بسیار غنی است، دیدن انواع طراحی و پیاده‌سازی ضعیف در دنیای واقعی بسیار رایج است. در واقع، سی شارپ یکی از غنی‌ترین زبان‌های ویژگی‌ها در میان زبان‌های شی گرا در جهان امروزی است. اما با قدرت زیاد مسئولیت بزرگی به همراه دارد. استفاده درست از همه آن ویژگی‌ها چالش برانگیز است.

        احتمالاً قبلاً عبارت معروف زیر را شنیده اید: اکثر کدها بد است. خوب، این دوره در مورد نحوه تولید کدی است که بد نیست.

        داشتن مهارت در تولید انواعی که به خوبی طراحی شده و به خوبی اجرا شده اند، پیش نیازی است که سایر توسعه دهندگان با شما به عنوان یک حرفه ای واقعی رفتار کنند.

  محتوا و نمای کلی  

این دوره برای همه توسعه دهندگان سی شارپ، از مبتدی تا ارشد، در نظر گرفته شده است. موضوعاتی که در این دوره پوشش داده می‌شوند برای همه نوع توسعه‌دهندگان C# مرتبط هستند، زیرا همه توسعه‌دهندگان API را طراحی و پیاده‌سازی می‌کنند. پیچیدگی موضوعات بسیار متفاوت است. بسیاری از موضوعات بسیار ساده وجود دارد، و در عین حال، موضوعاتی وجود دارد که از شما نیاز به یک پس زمینه قوی C# دارد. نمونه‌های کد زیادی در طول این دوره وجود دارد، بنابراین شما هم مطالب تئوری و هم عملی را یاد خواهید گرفت.

  با شروع با خصوصیات و اصول یک نوع خوب طراحی شده، فراتر می روید، یاد می گیرید که چگونه برای اعضای مختلف نام بگذارید، یک متد چند پارامتر باید داشته باشد، آیا این ایده خوبی است که یک Boolean را به عنوان پارامتر یک در نظر بگیرید. روش و خیلی بیشتر از آن

  سپس متوجه خواهید شد که کپسولاسیون واقعاً به چه معناست. چگونه یک نوع را کپسوله کنیم؟ برخی از معاوضه ها وجود دارد که ما با محصور کردن انواع خود با آنها برخورد خواهیم کرد. بسیاری از برنامه نویسان با تجربه هستند که نمی دانند کپسوله سازی در اصل چیست. با بررسی این موضوع با هم خواهیم دید که چگونه یک نوع سازگار و قابل اعتماد بسازیم.

  پس از تسلط بر مبحث کپسوله کردن انواع، با مشکل بزرگ مدیریت استثناها مواجه خواهید شد. بله، شکستن آن سخت است. ما از بحث درباره این سوال شروع می کنیم که چرا از استثناها به عنوان مکانیزم رسیدگی به خطاها استفاده می کنیم. و چرا تیم سی شارپ هیچ مکانیسم دیگری اختراع نکرد؟

  در پایان، نحوه مبارزه با مقادیر تهی را بررسی خواهیم کرد. همانطور که ممکن است بدانید، تونی هار گفت که اختراع یک ارزش صفر اشتباه میلیارد دلاری او بود.

برای جمع‌بندی،  این دوره موضوعات زیر را پوشش می‌دهد:

  • اصول توسعه API

  • نحوه نام‌گذاری بهتر برای اعضای API و نام‌گذاری‌هایی که در پلتفرم NET وجود دارد و برای C# مناسب است.

  • مشکلات رایجی که توسعه‌دهندگان سی شارپ در فرآیند طراحی و پیاده‌سازی API با آن مواجه می‌شوند: کلاس‌ها در مقابل ساختارها، کلاس‌های انتزاعی در مقابل رابط‌ها، الگوهای ایجاد در مقابل سازنده‌ها، نحوه پیاده‌سازی الگوی دور ریختن (آیا مطمئن هستید که این مورد ساده را درک می‌کنید؟)

  • بوی‌های رایج پیاده‌سازی مانند نام‌گذاری ضعیف، روش‌های بسیار طولانی، پارامترهای خروجی و غیره.

  • طراحی معماری رایج بویی مانند وسواس اولیه، وابستگی های پنهان، نقض قانون دمتر و موارد دیگر را می دهد.

  • نحوه برخورد با خطاها. توسعه نرم افزار قوی که در آن رسیدگی به خطاها بر اساس استثناها باشد، به طرز شگفت آوری سخت است. ما متوجه خواهیم شد که چرا چنین است و چگونه با مشکلات مدیریت خطا مبارزه کنیم.

  • نحوه برخورد با Nulls. Null Vales همیشه دردسرساز بوده است. NullReferenceException یک مهمان شناخته شده و محبوب در نرم افزار ما است. ما به راه‌های ممکن برای کاهش قدرت مختل کردن مقادیر تهی نگاه خواهیم کرد.

روش تدریس

بدون کرک، بدون هیاهو، بدون کوبیدن هوا. وقت شما را ارج می نهم مطالب دوره مختصر و در عین حال جامع است. تمام مفاهیم مهم پوشش داده شده است. به خصوص موضوعات مهم به طور عمیق پوشش داده شده است. برای مبتدیان مطلق، در صورت درخواست، کمک خود را در Skype کاملاً رایگان ارائه می‌کنم. فراموش نکنید که این دوره دارای زیرنویس‌های انگلیسی است، بنابراین اگر لهجه من را متوجه نمی‌شوید، آن‌ها را فعال کنید.

این دوره را بگذرانید و راضی خواهید بود.

---------------------------------------------- -------------

کلمات کلیدی مرتبط با دوره:

  • C# Clean Code

  • بهترین شیوه های سی شارپ

  • API در C#

  • ساختن API در سی شارپ

  • پاک کردن کد در آموزش C#

  • Refactoring


سرفصل ها و درس ها

مقدمه ای بر API Introduction to API

  • چگونه سوال بپرسیم How to Ask Questions

  • کد منبع را دانلود کنید Download Source Code

  • طرح کلی Outline

  • اصول توسعه API API Development Principles

  • نتیجه Conclusion

مقدمه ای بر API Introduction to API

  • چگونه سوال بپرسیم How to Ask Questions

  • کد منبع را دانلود کنید Download Source Code

  • به انجمن دانشجویان دات نت بپیوندید Join .NET Community of Students

  • به انجمن دانشجویان دات نت بپیوندید Join .NET Community of Students

  • طرح کلی Outline

  • ویژگی های API API's Characteristics

  • ویژگی های API API's Characteristics

  • API عمومی در مقابل API خصوصی Public API VS Private API

  • API عمومی در مقابل API خصوصی Public API VS Private API

  • اصول توسعه API API Development Principles

  • نتیجه Conclusion

نام ها Names

  • طرح کلی Outline

  • نتیجه Conclusion

نام ها Names

  • طرح کلی Outline

  • اصول کلی نامگذاری General Principles of Naming

  • اصول کلی نامگذاری General Principles of Naming

  • قراردادهای نامگذاری در دات نت Naming Conventions in .NET

  • قراردادهای نامگذاری در دات نت Naming Conventions in .NET

  • نتیجه Conclusion

طراحی و پیاده سازی انواع و اعضای آنها Designing and Implementing Types and their Members

  • طرح کلی Outline

  • کلاس VS ساختار Class VS Structure

  • رابط کلاس انتزاعی در مقابل Abstract Class VS Interface

  • اجرای سازندگان Implementing Constructors

  • الگوهای خلاقانه در مقابل سازندگان Creational Patterns VS Constructors

  • تبدیل در مقابل اپراتور ریخته گری Conversion VS Casting Operator

  • پارامترهای پیاده سازی Implementing Parameters

  • پیاده سازی الگوی «دور». Implementing "Dispose" Pattern

  • نتیجه Conclusion

طراحی و پیاده سازی انواع و اعضای آنها Designing and Implementing Types and their Members

  • طرح کلی Outline

  • کلاس VS ساختار Class VS Structure

  • رابط کلاس انتزاعی در مقابل Abstract Class VS Interface

  • اجرای کلاس های انتزاعی Implementing Abstract Classes

  • اجرای کلاس های انتزاعی Implementing Abstract Classes

  • روش Property VS Property VS Method

  • روش Property VS Property VS Method

  • اجرای سازندگان Implementing Constructors

  • الگوهای خلاقانه در مقابل سازندگان Creational Patterns VS Constructors

  • الگوی تستر انجام دهنده Tester-Doer Pattern

  • الگوی تستر انجام دهنده Tester-Doer Pattern

  • تبدیل در مقابل اپراتور ریخته گری Conversion VS Casting Operator

  • پارامترهای پیاده سازی Implementing Parameters

  • پیاده سازی الگوی «دور». Implementing "Dispose" Pattern

  • نتیجه Conclusion

پیاده سازی بو می دهد Implementation Smells

  • طرح کلی Outline

  • نامگذاری ضعیف Poor Naming

  • اعلامیه های متغیر در بالا Variable Declarations on the Top

  • روش خیلی طولانی Too Long Method

  • نظرات Comments

پیاده سازی بو می دهد Implementation Smells

  • طرح کلی Outline

  • نامگذاری ضعیف Poor Naming

  • نقض قراردادهای نامگذاری Violating Naming Conventions

  • نقض قراردادهای نامگذاری Violating Naming Conventions

  • اعلامیه های متغیر در بالا Variable Declarations on the Top

  • اعداد جادویی Magic Numbers

  • اعداد جادویی Magic Numbers

  • روش خیلی طولانی Too Long Method

  • بندهای شرطی ضعیف Poor Conditional Clauses

  • بندهای شرطی ضعیف Poor Conditional Clauses

  • پارامترهای خروجی Output Parameters

  • پارامترهای خروجی Output Parameters

  • نظرات Comments

  • اظهارات اگر مثبت را ترجیح دهید Prefer Positive if-statements

  • اظهارات اگر مثبت را ترجیح دهید Prefer Positive if-statements

  • نتیجه Conclusion

بوهای رایج معماری Common Architectural Smells

  • طرح کلی Outline

  • وسواس بدوی Primitives Obsession

  • وابستگی های پنهان Hidden Dependencies

  • نقض قانون دمتر Violation of Law of Demeter

  • نتیجه Conclusion

بوهای رایج معماری Common Architectural Smells

  • طرح کلی Outline

  • وسواس بدوی Primitives Obsession

  • وابستگی های پنهان Hidden Dependencies

  • نقض قانون دمتر Violation of Law of Demeter

  • جفت زمانی Temporal Coupling

  • جفت زمانی Temporal Coupling

  • جفت شدن زمانی و تغییرناپذیری Temporal Coupling and Immutability

  • جفت شدن زمانی و تغییرناپذیری Temporal Coupling and Immutability

  • تغییر بیانیه ها Switch Statements

  • تغییر بیانیه ها Switch Statements

  • نتیجه Conclusion

برخورد با خطاها Dealing with Errors

  • طرح کلی Outline

  • مشکلات با استثناها Problems with Exceptions

  • استراتژی های رسیدگی به استثنا Exception Handling Strategies

  • لوله کشی به روش زنجیرزنی Pipelining by Method Chaining

  • انواع استثناهای BCL BCL Exceptions Types

  • نتیجه Conclusion

برخورد با خطاها Dealing with Errors

  • طرح کلی Outline

  • "خطا" به چه معناست؟ What Does an "Error" Mean?

  • "خطا" به چه معناست؟ What Does an "Error" Mean?

  • مشکلات با استثناها Problems with Exceptions

  • باورهای غلط رایج Common Misconceptions

  • باورهای غلط رایج Common Misconceptions

  • استراتژی های رسیدگی به استثنا Exception Handling Strategies

  • اصل CQS CQS Principle

  • اصل CQS CQS Principle

  • خطاها و برنامه ریزی کاربردی Errors and Functional Programming

  • خطاها و برنامه ریزی کاربردی Errors and Functional Programming

  • لوله کشی به روش زنجیرزنی Pipelining by Method Chaining

  • نتیجه گیری در مورد رسیدگی به استثنائات Conclusion on Exceptions Handling

  • نتیجه گیری در مورد رسیدگی به استثنائات Conclusion on Exceptions Handling

  • انواع استثناهای BCL BCL Exceptions Types

  • انواع استثنای سفارشی Custom Exception Types

  • انواع استثنای سفارشی Custom Exception Types

  • نتیجه Conclusion

برخورد با Nulls Dealing with Nulls

  • طرح کلی Outline

  • مشکلات با Nulls Problems with Nulls

  • شاید موناد در سی شارپ Maybe monad in C#

  • نتیجه Conclusion

برخورد با Nulls Dealing with Nulls

  • طرح کلی Outline

  • مشکلات با Nulls Problems with Nulls

  • الگوی شی پوچ Null Object Pattern

  • الگوی شی پوچ Null Object Pattern

  • شاید موناد در سی شارپ Maybe monad in C#

  • خودکارسازی چک های پوچ Automating Null Checks

  • خودکارسازی چک های پوچ Automating Null Checks

  • تجزیه و تحلیل استاتیک Static Analysis

  • تجزیه و تحلیل استاتیک Static Analysis

  • بازگشت IEnumerables Returning IEnumerables

  • بازگشت IEnumerables Returning IEnumerables

  • نتیجه Conclusion

  • نتیجه Conclusion

  • تست نهایی Final Test

  • تست نهایی Final Test

  • سخنرانی جایزه BONUS LECTURE

  • سخنرانی جایزه BONUS LECTURE

نمایش نظرات

آموزش API در سی شارپ: بهترین روش‌های طراحی و پیاده‌سازی
جزییات دوره
3.5 hours
64
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
5,985
4.5 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Engineer Spock Engineer Spock

مهندس نرم افزار - بیش از 1000 نقد، میانگین امتیاز - 4.5