Design Patterns in Modern C++
Design Patterns in Modern C++, available at $99.99, has an average rating of 4.43, with 129 lectures, 21 quizzes, based on 6627 reviews, and has 40954 subscribers.
You will learn about Recognize and apply design patterns Refactor existing designs to use design patterns Reason about applicability and usability of design patterns Learn how to use different aspects of Modern C++ This course is ideal for individuals who are Beginner and experienced C++ software developers or Developers interested in implementations of design patterns or Computer scientists It is particularly useful for Beginner and experienced C++ software developers or Developers interested in implementations of design patterns or Computer scientists.
Enroll now: Design Patterns in Modern C++
Summary
Title: Design Patterns in Modern C++
Price: $99.99
Average Rating: 4.43
Number of Lectures: 129
Number of Quizzes: 21
Number of Published Lectures: 129
Number of Published Quizzes: 21
Number of Curriculum Items: 150
Number of Published Curriculum Objects: 150
Original Price: $89.99
Quality Status: approved
Status: Live
What You Will Learn
- Recognize and apply design patterns
- Refactor existing designs to use design patterns
- Reason about applicability and usability of design patterns
- Learn how to use different aspects of Modern C++
Who Should Attend
- Beginner and experienced C++ software developers
- Developers interested in implementations of design patterns
- Computer scientists
Target Audiences
- Beginner and experienced C++ software developers
- Developers interested in implementations of design patterns
- Computer scientists
Course Overview
This course provides a comprehensive overview of Design Patterns in Modern C++ from a practical perspective. This course in particular covers patterns with the use of:
- The latest versions of the C++ programming language
- Use of modern programming approaches: dependency injection, use of coroutines, and more!
- Use of modern developer tools such as CLion and ReSharper C++
- Discussions of pattern variations and alternative approaches
This course provides an overview of all the Gang of Four (GoF) design patterns as outlined in their seminal book, together with modern-day variations, adjustments, discussions of intrinsic use of patterns in the language.
What are Design Patterns?
Design Patterns are reusable solutions to common programming problems. They were popularized with the 1994 book Design Patterns: Elements of Reusable Object-Oriented Softwareby Erich Gamma, John Vlissides, Ralph Johnson and Richard Helm(who are commonly known as a Gang of Four, hence the GoF acronym).
The original book was written using C++ and Smalltalk as examples, but since then, design patterns have been adapted to every programming language imaginable: Swift, C#, Java, PHP and even programming languages that aren’t strictly object-oriented, such as JavaScript.
The appeal of design patterns is immortal: we see them in libraries, some of them are intrinsic in programming languages, and you probably use them on a daily basis even if you don’t realize they are there.
What Patterns Does This Course Cover?
This course covers all the GoF design patterns. In fact, here’s the full list of what is covered:
- SOLID Design Principles: Single Responsibility Principle, Open-Closed Principle, Liskov Substitution Principle, Interface Segregation Principle and Dependency Inversion Principle
- Creational Design Patterns: Builder, Factories (Factory Method and Abstract Factory), Prototype and Singleton
- Structrural Design Patterns: Adapter, Bridge, Composite, Decorator, Façade, Flyweight and Proxy
- Behavioral Design Patterns: Chain of Responsibility, Command, Interpreter, Iterator, Mediator, Memento, Null Object, Observer, State, Strategy, Template Method and Visitor
Who Is the Course For?
This course is for C++ developers who want to see not just textbook examples of design patterns, but also the different variations and tricks that can be applied to implement design patterns in a modern way.
Presentation Style
This course is presented as a (very large) series of live demonstrations being done in JetBrains CLion. Most demos are single-file, so you can download the file attached to the lesson and run it in CLion, XCode or another IDE of your choice (or just on the command line).
This course does not use UML class diagrams; all of demos are live coding.
Course Curriculum
Chapter 1: Introduction
Lecture 1: Introduction
Chapter 2: SOLID Design Principles
Lecture 1: Overview
Lecture 2: Single Responsibility Principle
Lecture 3: Open-Closed Principle
Lecture 4: Liskov Substitution Principle
Lecture 5: Interface Segregation Principle
Lecture 6: Dependency Inversion Principle
Lecture 7: Summary
Chapter 3: Builder
Lecture 1: Gamma Categorization
Lecture 2: Overview
Lecture 3: Life Without Builders
Lecture 4: Builder
Lecture 5: Fluent Builder
Lecture 6: Groovy-Style Builder
Lecture 7: Builder Facets
Lecture 8: Summary
Chapter 4: Factories
Lecture 1: Overview
Lecture 2: Point Example
Lecture 3: Factory Method
Lecture 4: Factory
Lecture 5: Inner Factory
Lecture 6: Abstract Factory
Lecture 7: Functional Factory
Lecture 8: Summary
Chapter 5: Prototype
Lecture 1: Overview
Lecture 2: Record Keeping
Lecture 3: Prototype
Lecture 4: Prototype Factory
Lecture 5: Prototype via Serialization
Lecture 6: Summary
Chapter 6: Singleton
Lecture 1: Overview
Lecture 2: Singleton Implementation
Lecture 3: Testability Issues
Lecture 4: Singleton in Dependency Injection
Lecture 5: Singleton Lifetime in DI Container
Lecture 6: Monostate
Lecture 7: Multiton
Lecture 8: Summary
Chapter 7: Adapter
Lecture 1: Overview
Lecture 2: Vector/Raster Demo
Lecture 3: Adapter Caching
Lecture 4: Summary
Chapter 8: Bridge
Lecture 1: Overview
Lecture 2: Pimpl Idiom
Lecture 3: Shrink-Wrapped Pimpl
Lecture 4: Bridge Implementation
Lecture 5: Summary
Chapter 9: Composite
Lecture 1: Overview
Lecture 2: Geometric Shapes
Lecture 3: Neural Networks
Lecture 4: Array-Backed Properties
Lecture 5: Summary
Chapter 10: Decorator
Lecture 1: Overview
Lecture 2: Dynamic Decorator
Lecture 3: Static Decorator
Lecture 4: Functional Decorator
Lecture 5: Summary
Chapter 11: Façade
Lecture 1: Overview
Lecture 2: Façade
Lecture 3: Summary
Chapter 12: Flyweight
Lecture 1: Overview
Lecture 2: Handmade Flyweight
Lecture 3: Boost.Flyweight
Lecture 4: Text Formatting
Lecture 5: Summary
Chapter 13: Proxy
Lecture 1: Overview
Lecture 2: Smart Pointers
Lecture 3: Property Proxy
Lecture 4: Virtual Proxy
Lecture 5: Communication Proxy
Lecture 6: Proxy vs Decorator
Lecture 7: Summary
Chapter 14: Chain of Responsibility
Lecture 1: Overview
Lecture 2: Pointer Chain
Lecture 3: Broker Chain
Instructors
-
Dmitri Nesteruk
Software/Hardware Engineering • Quant Finance • Algotrading
Rating Distribution
- 1 stars: 83 votes
- 2 stars: 129 votes
- 3 stars: 635 votes
- 4 stars: 2371 votes
- 5 stars: 3409 votes
Frequently Asked Questions
How long do I have access to the course materials?
You can view and review the lecture materials indefinitely, like an on-demand channel.
Can I take my courses with me wherever I go?
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!
You may also like
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024
- Top 10 Gardening Courses to Learn in November 2024