آموزش الگوهای طراحی در سی شارپ و دات نت

Design Patterns in C# and .NET

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: کشف پیاده سازی مدرن الگوهای طراحی با سی شارپ و دات نت شناخت و اعمال الگوهای طراحی Refactor طرح های موجود برای استفاده از الگوهای طراحی دلیل کاربرد و کاربردپذیری الگوهای طراحی اصول طراحی

نمای کلی دوره

این دوره یک نمای کلی از الگوهای طراحی در سی شارپ و دات نت از منظر عملی ارائه می دهد. این دوره به ویژه الگوهایی را با استفاده از:

پوشش می دهد
  • آخرین نسخه C# و چارچوب دات نت
  • استفاده از رویکردهای برنامه نویسی مدرن: تزریق وابستگی، برنامه نویسی واکنشی و موارد دیگر
  • استفاده از ابزارهای توسعه دهنده مدرن مانند ReSharper
  • بحث در مورد تغییرات الگو و رویکردهای جایگزین

این دوره یک نمای کلی از همه الگوهای طراحی Gang of Four (GoF) را که در کتاب اصلی آنها ذکر شده است، همراه با تغییرات، تنظیمات، بحث‌های استفاده ذاتی از الگوها در زبان امروزی ارائه می‌دهد.

الگوهای طراحی چیست؟

الگوهای طراحی راه حل های قابل استفاده مجدد برای مشکلات رایج برنامه نویسی هستند. آنها با کتاب 1994 Design Patterns: Elements of Reusable Object-Oriented Software توسط اریش گاما، جان ولیسیدز، رالف جانسون و ریچارد هلم (که معمولاً به عنوان یک باند چهار شناخته می شوند، از این رو مخفف GoF) معروف هستند، محبوب شدند.

کتاب اصلی با استفاده از C++ و Smalltalk به عنوان مثال نوشته شده است، اما از آن زمان، الگوهای طراحی با هر زبان برنامه نویسی قابل تصور سازگار شده است: C#، Java، PHP و حتی زبان های برنامه نویسی که کاملاً شی گرا نیستند، مانند جاوا اسکریپت.

جذابیت الگوهای طراحی جاودانه است: ما آنها را در کتابخانه‌ها می‌بینیم، برخی از آنها در زبان‌های برنامه‌نویسی ذاتی هستند، و شما احتمالاً به صورت روزانه از آنها استفاده می‌کنید، حتی اگر متوجه وجود آنها نباشید.

این دوره چه الگوهایی را پوشش می‌دهد؟

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

  • اصول طراحی جامد: اصل مسئولیت واحد، اصل باز-بسته، اصل جایگزینی لیسکوف، اصل جداسازی رابط و اصل وارونگی وابستگی
  • الگوهای طراحی خلاقانه: Builder، Factories (Factory Method and Abstract Factory)، نمونه اولیه و Singleton
  • الگوهای طراحی سازه: آداپتور، پل، کامپوزیت، دکوراتور، نما، وزن پرواز و پروکسی
  • الگوهای طراحی رفتاری: زنجیره مسئولیت، فرمان، مفسر، تکرارکننده، میانجی، یادگاری، شی تهی، مشاهده‌گر، حالت، استراتژی، روش الگو و بازدیدکننده

دوره برای چه کسانی است؟

این دوره برای توسعه‌دهندگان .NET/C# است که می‌خواهند نه تنها نمونه‌های کتاب درسی الگوهای طراحی را ببینند، بلکه می‌خواهند تغییرات و ترفندهای مختلفی را که می‌توان برای پیاده‌سازی الگوهای طراحی به روشی مدرن به کار برد. برای مثال، معرفی DLR به ما امکان می‌دهد از ImpromptuObject استفاده کنیم، به طوری که DynamicObject ما هر رابطی را که می‌خواهیم در معرض نمایش بگذارد. این امکان برنامه نویسی پویا را فراهم می کند و بسیاری از الگوهای طراحی از نظر تغییرات ثابت و مبتنی بر DLR ارائه می شوند.

سبک ارائه

این دوره به‌عنوان مجموعه‌ای (بسیار بزرگ) از نمایش‌های زنده ارائه می‌شود که در Microsoft Visual Studio انجام می‌شود. اکثر نسخه‌های نمایشی تک فایل هستند، بنابراین می‌توانید فایل پیوست شده به درس را دانلود کنید و آن را در Visual Studio، Visual Studio Code، Rider یا IDE دیگری به انتخاب خود اجرا کنید.

این دوره از نمودارهای کلاس UML استفاده نمی‌کند. همه دموها کد نویسی زنده هستند. من از Visual Studio، بسته‌های مختلف NuGet، R# unit test runner و حتی dotMemoryUnit استفاده می‌کنم.



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

معرفی Introduction

  • معرفی Introduction

اصول طراحی جامد The SOLID Design Principles

  • بررسی اجمالی Overview

  • اصل مسئولیت واحد Single Responsibility Principle

  • اصل باز-بسته Open-Closed Principle

  • اصل جایگزینی لیسکوف Liskov Substitution Principle

  • اصل جداسازی رابط Interface Segregation Principle

  • اصل وارونگی وابستگی Dependency Inversion Principle

  • خلاصه Summary

سازنده Builder

  • دسته بندی گاما Gamma Categorization

  • بررسی اجمالی Overview

  • زندگی بدون سازنده Life Without Builder

  • سازنده Builder

  • سازنده روان Fluent Builder

  • وراثت سازنده روان با ژنریک های بازگشتی Fluent Builder Inheritance with Recursive Generics

  • سازنده گام به گام Stepwise Builder

  • سازنده عملکردی Functional Builder

  • سازنده وجهی Faceted Builder

  • تمرین کدنویسی سازنده Builder Coding Exercise

  • خلاصه Summary

کارخانه ها Factories

  • بررسی اجمالی Overview

  • مثال نقطه ای Point Example

  • روش کارخانه Factory Method

  • روش کارخانه ناهمزمان Asynchronous Factory Method

  • کارخانه Factory

  • ردیابی شی و جایگزینی انبوه Object Tracking and Bulk Replacement

  • کارخانه داخلی Inner Factory

  • کارخانه چکیده Abstract Factory

  • Abstract Factory و OCP Abstract Factory and OCP

  • تمرین کدگذاری کارخانه Factory Coding Exercise

  • خلاصه Summary

نمونه اولیه Prototype

  • بررسی اجمالی Overview

  • ICloneable بد است ICloneable is Bad

  • سازندگان کپی Copy Constructors

  • رابط کپی عمیق صریح Explicit Deep Copy Interface

  • وراثت نمونه اولیه Prototype Inheritance

  • کپی از طریق سریال سازی Copy Through Serialization

  • تمرین کدگذاری نمونه اولیه Prototype Coding Exercise

  • خلاصه Summary

سینگلتون Singleton

  • بررسی اجمالی Overview

  • پیاده سازی Singleton Singleton Implementation

  • مسائل آزمون پذیری Testability Issues

  • Singleton در تزریق وابستگی Singleton in Dependency Injection

  • مونوستات Monostate

  • تک رشته Per-Thread Singleton

  • زمینه محیطی Ambient Context

  • تمرین کدگذاری تک تن Singleton Coding Exercise

  • خلاصه Summary

آداپتور Adapter

  • بررسی اجمالی Overview

  • وکتور/رستر نسخه ی نمایشی Vector/Raster Demo

  • حافظه پنهان آداپتور Adapter Caching

  • آداپتور ارزش عمومی Generic Value Adapter

  • آداپتور در تزریق وابستگی Adapter in Dependency Injection

  • تمرین کدگذاری آداپتور Adapter Coding Exercise

  • خلاصه Summary

پل Bridge

  • بررسی اجمالی Overview

  • پل Bridge

  • تمرین کدگذاری پل Bridge Coding Exercise

  • خلاصه Summary

کامپوزیت Composite

  • بررسی اجمالی Overview

  • شکل های هندسی Geometric Shapes

  • شبکه های عصبی Neural Networks

  • مشخصات ترکیبی Composite Specification

  • تمرین کدگذاری ترکیبی Composite Coding Exercise

  • خلاصه Summary

دکوراتور Decorator

  • بررسی اجمالی Overview

  • رشته ساز سفارشی Custom String Builder

  • آداپتور-دکوراتور Adapter-Decorator

  • وراثت چندگانه با رابط ها Multiple Inheritance with Interfaces

  • ارث بری چندگانه با اعضای رابط پیش فرض Multiple Inheritance with Default Interface Members

  • ترکیب دکوراتور پویا Dynamic Decorator Composition

  • تشخیص چرخه های دکوراتور Detecting Decorator Cycles

  • ترکیب دکوراتور استاتیک Static Decorator Composition

  • دکوراتور در تزریق وابستگی Decorator in Dependency Injection

  • تمرین کدگذاری دکوراتور Decorator Coding Exercise

  • خلاصه Summary

نما Façade

  • بررسی اجمالی Overview

  • نما Façade

  • تمرین کدگذاری نما Facade Coding Exercise

  • خلاصه Summary

وزن پرواز Flyweight

  • بررسی اجمالی Overview

  • تکرار نام کاربری Repeating User Names

  • قالب بندی متن Text Formatting

  • تمرین کدگذاری Flyweight Flyweight Coding Exercise

  • خلاصه Summary

پروکسی Proxy

  • بررسی اجمالی Overview

  • پروکسی حفاظتی Protection Proxy

  • پروکسی اموال Property Proxy

  • پروکسی ارزش Value Proxy

  • پراکسی مرکب: SoA/AoS Composite Proxy: SoA/AoS

  • پراکسی مرکب با ویژگی های آرایه پشتیبان Composite Proxy with Array-Backed Properties

  • پروکسی پویا برای ورود به سیستم Dynamic Proxy for Logging

  • پروکسی در مقابل دکوراتور Proxy vs. Decorator

  • ViewModel ViewModel

  • تمرین کدگذاری پروکسی Proxy Coding Exercise

  • تکه تکه شدن Bit Fragging

  • خلاصه Summary

زنجیره مسئولیت Chain of Responsibility

  • بررسی اجمالی Overview

  • جداسازی پرس و جوی دستوری Command Query Separation

  • زنجیره روش Method Chain

  • زنجیره کارگزار Broker Chain

  • تمرین کدگذاری زنجیره مسئولیت Chain of Responsibility Coding Exercise

  • خلاصه Summary

فرمان Command

  • بررسی اجمالی Overview

  • فرمان Command

  • لغو عملیات Undo Operations

  • فرمان مرکب Composite Command

  • تمرین کدگذاری دستوری Command Coding Exercise

  • خلاصه Summary

مترجم Interpreter

  • بررسی اجمالی Overview

  • مترجم دست ساز: Lexing Handmade Interpreter: Lexing

  • مترجم دست ساز: تجزیه Handmade Interpreter: Parsing

  • ANTLR ANTLR

  • تمرین کدگذاری مترجم Interpreter Coding Exercise

  • خلاصه Summary

اشاره گر Iterator

  • بررسی اجمالی Overview

  • Iterator Object Iterator Object

  • روش تکرار کننده Iterator Method

  • Iterators و Duck Typing Iterators and Duck Typing

  • ویژگی های آرایه پشتیبان Array-Backed Properties

  • تمرین کدنویسی Iterator Iterator Coding Exercise

  • خلاصه Summary

میانجی Mediator

  • بررسی اجمالی Overview

  • اتاق چت Chat Room

  • کارگزار رویداد Event Broker

  • مقدمه ای بر MediatR Introduction to MediatR

  • تمرین کدگذاری میانجی Mediator Coding Exercise

  • خلاصه Summary

یادگاری Memento

  • بررسی اجمالی Overview

  • یادگاری Memento

  • Undo و Redo Undo and Redo

  • یادگاری برای Interop Memento for Interop

  • تمرین کدگذاری یادگاری Memento Coding Exercise

  • خلاصه Summary

شی پوچ Null Object

  • بررسی اجمالی Overview

  • شی پوچ Null Object

  • تک شیء پوچ Null Object Singleton

  • شی پویا پوچ Dynamic Null Object

  • تمرین کدگذاری شی پوچ Null Object Coding Exercise

  • خلاصه Summary

مشاهده کننده Observer

  • بررسی اجمالی Overview

  • مشاهده از طریق کلمه کلیدی "رویداد". Observer via the 'event' Keyword

  • الگوی رویداد ضعیف Weak Event Pattern

  • مشاهده از طریق رابط های ویژه Observer via Special Interfaces

  • مجموعه های قابل مشاهده Observable Collections

  • ناظر دو طرفه Bidirectional Observer

  • وابستگی های دارایی Property Dependencies

  • اشتراک رویدادهای اعلامی با رابط Declarative Event Subscriptions with Interfaces

  • تمرین کدگذاری مشاهده گر Observer Coding Exercise

  • خلاصه Summary

حالت State

  • بررسی اجمالی Overview

  • پیاده سازی کلاسیک Classic Implementation

  • ماشین دولتی دست ساز Handmade State Machine

  • ماشین حالت مبتنی بر سوئیچ Switch-Based State Machine

  • تغییر عبارات Switch Expressions

  • ماشین حالت با حالت بدون حالت State Machine with Stateless

  • تمرین کدگذاری دولتی State Coding Exercise

  • خلاصه Summary

استراتژی Strategy

  • بررسی اجمالی Overview

  • استراتژی پویا Dynamic Strategy

  • استراتژی ایستا Static Strategy

  • استراتژی های برابری و مقایسه Equality and Comparison Strategies

  • تمرین کدگذاری استراتژی Strategy Coding Exercise

  • خلاصه Summary

روش الگو Template Method

  • بررسی اجمالی Overview

  • روش الگو Template Method

  • روش الگوی کاربردی Functional Template Method

  • تمرین کدگذاری روش الگو Template Method Coding Exercise

  • خلاصه Summary

بازدید کننده Visitor

  • بررسی اجمالی Overview

  • بازدید کننده سرزده Intrusive Visitor

  • بازدید کننده بازتابی Reflective Visitor

  • بازدیدکننده کلاسیک (ارسال دوبار) Classic Visitor (Double Dispatch)

  • کاهش ها و دگرگونی ها Reductions and Transforms

  • بازدیدکننده پویا از طریق DLR Dynamic Visitor via the DLR

  • بازدید کننده غیر چرخشی Acyclic Visitor

  • تمرین کدگذاری بازدیدکنندگان Visitor Coding Exercise

  • خلاصه Summary

خلاصه دوره Course Summary

  • خلاصه الگوهای خلاقیت Creational Paterns Summary

  • خلاصه الگوهای ساختاری Structural Patterns Summary

  • خلاصه الگوهای رفتاری Behavioral Patterns Summary

  • پایان دوره End of Course

سخنرانی های اضافی Additional Lectures

  • مخلوط های تایپ اردک Duck Typing Mixins

  • یک رشته ASCII C# An ASCII C# String

  • ادامه سبک عبور Continuation Passing Style

  • وارونگی کنترل محلی Local Inversion of Control

  • ادغام کانتینر DI و بروکر رویداد DI Container and Event Broker Integration

  • فراتر از اپراتور الویس Beyond the Elvis Operator

  • CQRS و رویداد منبع یابی CQRS and Event Sourcing

الگوهای عملکردی در F# Functional Patterns in F#

  • بررسی اجمالی Overview

  • سازنده Builder

  • دکوراتور Decorator

  • کارخانه Factory

  • مترجم Interpreter

  • استراتژی Strategy

  • روش الگو Template Method

  • خلاصه Summary

نمایش نظرات

آموزش الگوهای طراحی در سی شارپ و دات نت
جزییات دوره
20.5 hours
173
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
72,074
- از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dmitri Nesteruk Dmitri Nesteruk

مهندسی نرم افزار/سخت افزار • Quant Finance • Algotrading