لطفا جهت اطلاع از آخرین دوره ها و اخبار سایت در
کانال تلگرام
عضو شوید.
آموزش الگوهای طراحی سازه در C++ مدرن [ویدئو]
Structural Design Patterns in Modern C++ [Video]
نکته:
آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره:
با الگوهای طراحی، حل مشکلات رایج طراحی شی گرا بسیار آسان است. با این حال، درک و یادگیری الگوهای طراحی سخت و زمان بر است. این دوره به شما کمک می کند تا با الگوهای طراحی آشنا شوید و چند تکنیک مفید برای پیاده سازی آنها در C++ مدرن را به شما آموزش می دهد. این دوره با مقدمه ای بر طراحی الگوها شروع می شود و ساختار یک الگو را با کمک نمودار کلاسی زبان مدل سازی یکپارچه (UML) توضیح می دهد. سپس با مطالعه انواع الگوهای طراحی مانند آداپتور، نما، پروکسی، دکوراتور، کامپوزیت، بریج و فلای ویت، نحوه پیادهسازی یک الگوی طراحی، نحوه بررسی مسائل و نحوه اصلاح کد را خواهید فهمید. علاوه بر این، با مزایا و معایب هر الگو نیز آشنا خواهید شد. در پایان این دوره، شما با الگوهای مختلف طراحی سازه آشنا خواهید شد و مهارت های پیاده سازی آنها را در C++ مدرن به دست خواهید آورد. همه فایلهای منبع به مخزن GitHub در آدرس زیر اضافه میشوند: https://github.com/PacktPublishing/Structural-Design-Patterns-in-Modern-C- از الگوی آداپتور برای تبدیل یک رابط ناسازگار به یک رابط سازگار استفاده کنید. شی اصلی با استفاده از الگوی پراکسی تشکیل ساختارهای بزرگتر از طریق ترکیب بازگشتی با استفاده از الگوی ترکیبی ساده کردن رابط های پیچیده یک سیستم با استفاده از الگوی نما فعال کردن اشتراک گذاری تعداد زیادی از اشیاء با استفاده از الگوی وزن پرواز استفاده از الگوی تزئین کننده برای افزودن رفتارهای بیشتر به یک شی در زمان اجرا اگر دانش آموزی هستید که می خواهید درک اولیه ای از الگوهای طراحی به دست آورید. یک توسعه دهنده نرم افزار، مدیر پروژه، یا یک معمار که می خواهد الگوهای طراحی را در پروژه های خود درک و پیاده سازی کند. یا یک توسعه دهنده ++C که می خواهد الگوهای طراحی را در C++ پیاده سازی کند، این دوره برای شما مناسب است. برای شروع این دوره، داشتن دانش اولیه C++ و مفاهیم برنامه نویسی شی گرا ضروری است. الگوهای مختلف طراحی سازه را درک کنید
* دریابید که چگونه الگوهای طراحی ساختاری ساختارهای بزرگتری را از طریق وراثت و ترکیب ایجاد می کنند
* تکنیکهای شگفتانگیزی برای تغییر الگوهای طراحی برای عملکرد و حداکثر انعطافپذیری با استفاده از C++ کشف کنید
سرفصل ها و درس ها
معرفی
Introduction
بررسی اجمالی دوره
Course Overview
مقدمه ای بر الگوهای طراحی
Introduction to Design Patterns
مروری بر نمودارهای کلاس زبان مدلسازی یکپارچه (UML).
Overview of Unified Modeling Language (UML) Class Diagrams
اصول تک مسئولیتی، باز-بسته، جایگزینی لیسکوف، جداسازی رابط، و وارونگی وابستگی (S.O.L.I.D.) – قسمت اول
Single-Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion (S.O.L.I.D.) Principles – Part I
اصول تک مسئولیتی، باز-بسته، جایگزینی لیسکوف، جداسازی رابط، و وارونگی وابستگی (S.O.L.I.D.) – قسمت دوم
Single-Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion (S.O.L.I.D.) Principles – Part II
اصول تک مسئولیتی، باز-بسته، جایگزینی لیسکوف، جداسازی رابط، و وارونگی وابستگی (S.O.L.I.D.) – قسمت سوم
Single-Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion (S.O.L.I.D.) Principles – Part III
بررسی اجمالی الگوهای طراحی سازه
Structural Design Patterns Overview
الگوی طراحی آداپتور
Adapter Design Pattern
مقدمه ای بر الگوی آداپتور
Introduction to the Adapter Pattern
مثال پایه
Basic Example
ورودی بازی
Game Input
با استفاده از الگوی آداپتور
Using the Adapter Pattern
پیاده سازی آداپتور
Adapter Implementation
آداپتور کلاس
Class Adapter
مزایا و معایب
Pros and Cons
الگوی طراحی نما
Façade Design Pattern
مقدمه ای بر الگوی نما
Introduction to the Façade Pattern
مثال پایه
Basic Example
پروژه کنسول – قسمت اول
Console Project – Part I
پروژه کنسول – قسمت دوم
Console Project – Part II
پروژه کنسول – قسمت سوم
Console Project – Part III
پروژه کنسول – قسمت چهارم
Console Project – Part IV
نمای کنسول برای لینوکس
Console Façade for Linux
مزایا و معایب
Pros and Cons
الگوی طراحی پروکسی
Proxy Design Pattern
مقدمه ای بر الگوی پروکسی
Introduction to the Proxy Pattern
مثال پایه
Basic Example
معرفی پروکسی مجازی
Introducing Virtual Proxy
پیاده سازی پروکسی مجازی
Implementing Virtual Proxy
استفاده از پروکسی مجازی
Applying Virtual Proxy
مقدمه ای بر Protection Proxy
Introduction to Protection Proxy
مثال پروکسی حفاظتی
Protection Proxy Example
استفاده از پروکسی حفاظت
Applying Protection Proxy
معرفی پراکسی از راه دور
Remote Proxy Introduction
نمونه ای از Remote Proxy
Example of the Remote Proxy
استفاده از Remote Proxy به عنوان مؤلفه مدل شیء مؤلفه (COM).
Using the Remote Proxy as a Component Object Model (COM) Component
پروکسی هوشمند
Smart Proxy
مزایا و معایب
Pros and Cons
الگوی طراحی دکوراتور
Decorator Design Pattern
مقدمه ای بر الگوی دکوراتور
Introduction to the Decorator Pattern
مثال پایه
Basic Example
اضافه کردن کلاس دکوراتور انتزاعی
Adding the Abstract Decorator Class
پیاده سازی و اعمال جریان ها
Implementing and Applying Streams
افزودن بافر به استریم ها
Adding Buffering to Streams
اضافه کردن کلاس BufferedStream
Adding the BufferedStream Class
افزودن پشتیبانی از رمزگذاری و فشرده سازی به استریم ها
Adding Encryption and Compression Support to Streams
استفاده از ترکیب به جای ارث
Using Composition Instead of Inheritance
افزودن کلاس Abstract Decorator به سلسله مراتب کلاس های جریان
Adding the Abstract Decorator Class to Stream Class Hierarchies
انواع دکوراتور
Decorator Types
دکوراتور استاتیک
Static Decorator
دکوراتور کاربردی
Functional Decorator
مزایا و معایب
Pros and Cons
الگوی طراحی ترکیبی
Composite Design Pattern
مقدمه ای بر الگوی ترکیبی
Introduction to the Composite Pattern
بررسی اجمالی هدف و پیاده سازی ترکیبی
Composite Intent and Implementation Overview
مثال پایه
Basic Example
رابط کاربری (UI) مثال نمای کلی
User Interface (UI) Example Overview
مثال رابط کاربری (UI) – قسمت اول
User Interface (UI) Example – Part I
مثال رابط کاربری (UI) – قسمت دوم
User Interface (UI) Example – Part II
مثال رابط کاربری (UI) – قسمت III
User Interface (UI) Example – Part III
مزایا و معایب
Pros and Cons
الگوی طراحی پل
Bridge Design Pattern
مقدمه ای بر الگوی پل
Introduction to the Bridge Pattern
مروری بر هدف و پیاده سازی پل
Bridge Intent and Implementation Overview
مثال پایه
Basic Example
سلسله مراتب شکل ها و پیاده سازی کلاس خط
Shapes Hierarchy and Implementing the Line Class
اضافه کردن کلاس های شکل بیشتر
Adding More Shape Classes
اضافه کردن پشتیبانی برای رندر از طریق OpenGL
Adding Support for Rendering through OpenGL
مسائل سلسله مراتبی را شکل می دهد
Shapes Hierarchy Issues
اجرای پل
Bridge Implementation
دسته-بدنه
Handle-Body
ایجاد کلاس رشته
Creating the String Class
پیاده سازی اشتراک گذاری برای اشیاء رشته ای
Implementing Sharing for String Objects
اشاره گر به پیاده سازی (Plmpl) – قسمت اول
Pointer to IMPLementation (Plmpl) – Part I
اشاره گر به پیاده سازی (Plmpl) - قسمت دوم
Pointer to IMPLementation (Plmpl) – Part II
پل استاتیک
Static Bridge
مزایا و معایب
Pros and Cons
الگوی طراحی Flyweight
Flyweight Design Pattern
مقدمه ای بر الگوی Flyweight
Introduction to the Flyweight Pattern
نمای کلی قصد و پیاده سازی
Intent and Implementation Overview
پیاده سازی اساسی
Basic Implementation
پیاده سازی بازی – قسمت اول
Game Implementation – Part I
اجرای بازی – قسمت دوم
Game Implementation – Part II
اجرای بازی – قسمت سوم
Game Implementation – Part III
ایجاد کلاس رشته
Creating String Class
افزودن StringInfo برای به اشتراک گذاری رشته های داخلی
Adding StringInfo for Sharing Internal Strings
پیاده سازی String Interning
Implementing String Interning
افزایش وزن
Boost.Flyweight
مزایا و معایب
Pros and Cons
نمایش نظرات
Packtpub یک ناشر دیجیتالی کتابها و منابع آموزشی در زمینه فناوری اطلاعات و توسعه نرمافزار است. این شرکت از سال 2004 فعالیت خود را آغاز کرده و به تولید و انتشار کتابها، ویدیوها و دورههای آموزشی میپردازد که به توسعهدهندگان و متخصصان فناوری اطلاعات کمک میکند تا مهارتهای خود را ارتقا دهند. منابع آموزشی Packtpub موضوعات متنوعی از جمله برنامهنویسی، توسعه وب، دادهکاوی، امنیت سایبری و هوش مصنوعی را پوشش میدهد. محتوای این منابع به صورت کاربردی و بهروز ارائه میشود تا کاربران بتوانند دانش و تواناییهای لازم برای موفقیت در پروژههای عملی و حرفهای خود را کسب کنند.
مربی ، توسعه دهنده و بنیانگذار مهندس Poash TechnologiesCivil که خواست خود را در توسعه نرم افزار یافت. هرگز به عنوان مهندس عمران کار نکرده ، در اولین فرصت پرش کرده و از 15 سال پیش تدریس C ++ و Visual C ++ را شروع کردم. در حال حاضر ، متخصصان نرم افزار را در شرکت های مختلف نرم افزاری در فن آوری های مختلف مانند Modern C ++ ، Advanced C ++ ، STL ، Design Patterns ، Android ، Unity ، Linux و ... آموزش می دهد. بسیار علاقه مند به تدریس است و بیش از 20،000 متخصص نرم افزار را در حرفه تدریس آموزش داده است بیش از 17 سال طول می کشد. یک گیمر مشتاق ، در حال حاضر تلاش خود را برای توسعه بازی در Unity & Unreal انجام می دهد. چند برنامه اندرویدی به اعتبار خود دارد ، از جمله یکی در Design Patterns. تنها چیزی که او بیش از C ++ دوست دارد ، C ++ مدرن است.
نمایش نظرات