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

Design Patterns in Modern C++

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: کشف اجرای مدرن الگوهای طراحی با ++ شناخت و اعمال الگوهای طراحی Refactor طرح های موجود برای استفاده از الگوهای طراحی دلیل در مورد کاربردی بودن و کاربردی بودن الگوهای طراحی آموزش استفاده از جنبه های مختلف C++ مدرن پیش نیازها:درک خوب C++ آگاهی از ویژگی ها C++ مدرن (11/14/17/...) درک OOP (کپسولاسیون، چندشکلی، وراثت)

نمای کلی دوره

این دوره یک نمای کلی از الگوهای طراحی در C++ مدرن از دیدگاه عملی ارائه می‌دهد. این دوره به ویژه الگوهایی را با استفاده از:

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

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

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

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

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

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

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

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

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

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

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

سبک ارائه

این دوره به‌عنوان مجموعه‌ای (بسیار بزرگ) از نمایش‌های زنده ارائه می‌شود که در JetBrains CLion انجام می‌شود. اکثر نسخه‌های نمایشی تک فایل هستند، بنابراین می‌توانید فایل پیوست شده به درس را دانلود کنید و آن را در CLion، XCode یا IDE دیگری به انتخاب خود (یا فقط در خط فرمان) اجرا کنید.

این دوره از نمودارهای کلاس UML استفاده نمی‌کند. همه دموها کدگذاری زنده هستند.


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

معرفی Introduction

  • معرفی Introduction

معرفی Introduction

  • معرفی Introduction

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

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

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

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

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

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

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

  • خلاصه Summary

اصول طراحی جامد 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 Builders

  • سازنده Builder

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

  • سازنده سبک Groovy Groovy-Style Builder

  • جنبه های سازنده Builder Facets

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

  • خلاصه Summary

سازنده Builder

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

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

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

  • سازنده Builder

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

  • سازنده سبک Groovy Groovy-Style Builder

  • جنبه های سازنده Builder Facets

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

  • خلاصه Summary

کارخانه ها Factories

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

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

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

  • کارخانه Factory

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

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

  • کارخانه عملکردی Functional Factory

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

  • خلاصه Summary

کارخانه ها Factories

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

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

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

  • کارخانه Factory

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

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

  • کارخانه عملکردی Functional Factory

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

  • خلاصه Summary

نمونه اولیه Prototype

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

  • نگهداری سوابق Record Keeping

  • نمونه اولیه Prototype

  • کارخانه نمونه اولیه Prototype Factory

  • نمونه اولیه از طریق سریال سازی Prototype via Serialization

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

  • خلاصه Summary

نمونه اولیه Prototype

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

  • نگهداری سوابق Record Keeping

  • نمونه اولیه Prototype

  • کارخانه نمونه اولیه Prototype Factory

  • نمونه اولیه از طریق سریال سازی Prototype via Serialization

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

  • خلاصه Summary

سینگلتون Singleton

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

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

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

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

  • Singleton Lifetime در ظرف DI Singleton Lifetime in DI Container

  • مونوستات Monostate

  • مولتی تن Multiton

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

  • خلاصه Summary

سینگلتون Singleton

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

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

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

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

  • Singleton Lifetime در ظرف DI Singleton Lifetime in DI Container

  • مونوستات Monostate

  • مولتی تن Multiton

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

  • خلاصه Summary

آداپتور Adapter

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

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

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

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

  • خلاصه Summary

آداپتور Adapter

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

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

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

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

  • خلاصه Summary

پل Bridge

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

  • اصطلاح Pimpl Pimpl Idiom

  • Pimpl کوچک شده Shrink-Wrapped Pimpl

  • اجرای پل Bridge Implementation

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

  • خلاصه Summary

پل Bridge

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

  • اصطلاح Pimpl Pimpl Idiom

  • Pimpl کوچک شده Shrink-Wrapped Pimpl

  • اجرای پل Bridge Implementation

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

  • خلاصه Summary

کامپوزیت Composite

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

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

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

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

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

  • خلاصه Summary

کامپوزیت Composite

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

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

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

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

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

  • خلاصه Summary

دکوراتور Decorator

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

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

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

  • دکوراتور کاربردی Functional Decorator

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

  • خلاصه Summary

دکوراتور Decorator

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

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

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

  • دکوراتور کاربردی Functional Decorator

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

  • خلاصه Summary

نما Façade

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

  • نما Façade

  • خلاصه Summary

نما Façade

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

  • نما Façade

  • خلاصه Summary

وزن پرواز Flyweight

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

  • مگس وزن دست ساز Handmade Flyweight

  • افزایش وزن Boost.Flyweight

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

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

  • خلاصه Summary

وزن پرواز Flyweight

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

  • مگس وزن دست ساز Handmade Flyweight

  • افزایش وزن Boost.Flyweight

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

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

  • خلاصه Summary

پروکسی Proxy

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

  • اشاره گرهای هوشمند Smart Pointers

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

  • پروکسی مجازی Virtual Proxy

  • پروکسی ارتباطی Communication Proxy

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

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

  • خلاصه Summary

پروکسی Proxy

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

  • اشاره گرهای هوشمند Smart Pointers

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

  • پروکسی مجازی Virtual Proxy

  • پروکسی ارتباطی Communication Proxy

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

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

  • خلاصه Summary

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

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

  • زنجیر اشاره گر Pointer Chain

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

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

  • خلاصه Summary

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

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

  • زنجیر اشاره گر Pointer Chain

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

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

  • خلاصه Summary

فرمان Command

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

  • فرمان Command

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

  • دستور مرکب (ماکرو) Composite Command (Macro)

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

  • خلاصه Summary

فرمان Command

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

  • فرمان Command

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

  • دستور مرکب (ماکرو) Composite Command (Macro)

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

  • خلاصه Summary

مترجم Interpreter

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

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

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

  • ساخت تجزیه کننده با Boost.Spirit Building Parsers with Boost.Spirit

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

  • خلاصه Summary

مترجم Interpreter

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

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

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

  • ساخت تجزیه کننده با Boost.Spirit Building Parsers with Boost.Spirit

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

  • خلاصه Summary

اشاره گر Iterator

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

  • Iterators در کتابخانه استاندارد Iterators in the Standard Library

  • Iterator درخت دودویی Binary Tree Iterator

  • Tree Iterator با Coroutines Tree Iterator with Coroutines

  • Boost Iterator Façade Boost Iterator Façade

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

  • خلاصه Summary

اشاره گر Iterator

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

  • Iterators در کتابخانه استاندارد Iterators in the Standard Library

  • Iterator درخت دودویی Binary Tree Iterator

  • Tree Iterator با Coroutines Tree Iterator with Coroutines

  • Boost Iterator Façade Boost Iterator Façade

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

  • خلاصه Summary

میانجی Mediator

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

  • اتاق چت Chat Room

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

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

  • خلاصه Summary

میانجی Mediator

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

  • اتاق چت Chat Room

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

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

  • خلاصه Summary

یادگاری Memento

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

  • یادگاری Memento

  • Undo و Redo Undo and Redo

  • یادگاری خودکار Automatic Memento

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

  • خلاصه Summary

یادگاری Memento

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

  • یادگاری Memento

  • Undo و Redo Undo and Redo

  • یادگاری خودکار Automatic Memento

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

  • خلاصه Summary

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

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

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

  • قابل مشاهده Observable

  • قابل مشاهده با Boost.Signals Observable with Boost.Signals

  • مشکل وابستگی ها The Problem of Dependencies

  • ایمنی نخ و ورود مجدد Thread Safety and Reentrancy

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

  • خلاصه Summary

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

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

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

  • قابل مشاهده Observable

  • قابل مشاهده با Boost.Signals Observable with Boost.Signals

  • مشکل وابستگی ها The Problem of Dependencies

  • ایمنی نخ و ورود مجدد Thread Safety and Reentrancy

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

  • خلاصه Summary

حالت State

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

  • اجرای کلاسیک حالت Classic State Implementation

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

  • ماشین حالت با Boost.MSM State Machine with Boost.MSM

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

  • خلاصه Summary

حالت State

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

  • اجرای کلاسیک حالت Classic State Implementation

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

  • ماشین حالت با Boost.MSM State Machine with Boost.MSM

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

  • خلاصه Summary

استراتژی Strategy

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

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

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

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

  • خلاصه Summary

استراتژی Strategy

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

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

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

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

  • خلاصه Summary

روش قالب Template Method

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

  • روش قالب Template Method

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

  • خلاصه Summary

روش قالب Template Method

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

  • روش قالب Template Method

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

  • خلاصه Summary

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

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

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

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

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

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

  • چند روش Multimethods

  • Variant و std::visit Variant and std::visit

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

  • خلاصه Summary

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

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

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

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

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

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

  • چند روش Multimethods

  • Variant و std::visit Variant and std::visit

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

  • خلاصه Summary

خلاصه دوره Course Summary

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

خلاصه دوره Course Summary

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

نمایش نظرات

آموزش الگوهای طراحی در سی پلاس پلاس مدرن
جزییات دوره
12.5 hours
129
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
31,777
4.4 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Dmitri Nesteruk Dmitri Nesteruk

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