C++ Training: Exploring Refactoring & Design Patterns


Course Delivery

Live Instructor-Led Training

Course Description

The course Exploring Refactoring & Design Patterns (C++ Training) demystifies design patterns with C++. The training includes the design patterns originally defined by the Gang of Four (GOF) and the fundamentals of C++ object orientated programming, Refactoring & UML. The course covers creational, behavioral & structural design patterns in C++ and provides many practical exercises that demonstrate applicability.

Course Dates and Pricing


Feb 11 - 14, 2025$3,750.00Mar 11 - 14, 2025$3,750.00Apr 15 - 18, 2025$3,750.00May 13 - 16, 2025$3,750.00Jun 10 - 13, 2025$3,750.00Jul 15 - 18, 2025$3,750.00

Course Outline

Object Oriented Design with UML

The Happy Video Store
Parameterized Classes and Patterns
Sequence Diagrams
Statechart Diagrams
Activity Diagrams
Proper Coding Practices
What Makes Good Software
Going From Analysis To Design
Object Re-use
Applying Design Patterns
UML Class Notation
Generalization
Aggregation and Composition
Collection Classes

The Refactoring Process

The Refactoring Process
Data Clumps
Primitive Obsession
Switch Statements
Lazy Class
Speculative Generality
Temporary Field
Message Chains
Middle Man
Inappropriate Intimacy
Alternative Classes with Different Interfaces
Code Smells Overview
Data Classes
Refused Bequest
Comments
Refactoring the Shapes Application
Duplicated Code
Long Method
Large Class
Long Parameter List
Divergent Change
Shotgun Surgery
Feature Envy

Creational Design Patterns

About Object Creation
Abstract Factory
Singleton
Client Code Review
Builder
Prototype
Refactoring Considerations

Structural Patterns

About Object Structure
Adapter
Bridge
Composite
Façade
Other Patterns
Refactoring Considerations

Behavioural Patterns

About Object Behaviour
Command
Observer
Strategy
Visitor
Other Patterns
Refactoring Considerations

Course Locations

  • Ottawa

  • Montreal

  • Toronto

Related C++ Training

C++ Training: Acquainting yourself with Objects

The course Acquainting yourself with Objects (C++ Training) covers everything you need to get started with object oriented programming using C++. The training includes basic C++ syntax & data types, memory management together with a complete exploration of class programming with C++. The course covers static data, virtual functions, inheritance & polymorphism, pure virtual functions & more. Come master the fundamentals of object oriented programming with C++. Training course titled C++ Training: Acquainting yourself with Objects that will allow you to hone your professional skills.

Feb 18 - 21, 2025$3,750.00Mar 18 - 21, 2025$3,750.00Apr 22 - 25, 2025$3,750.00May 20 - 23, 2025$3,750.00Jun 17 - 20, 2025$3,750.00Jul 22 - 25, 2025$3,750.00

C++ Training: Advanced C++: C++17 & More

The course Advanced C++, C++17 & More (C++ Training) pushes the boundaries of C++ development under the C++17 and C++11 standards. The training includes the use of modern C++ including data structures, memory management, multithreaded programming, locales, templates & more. The entire course is dedicated to advanced programming techniques that allow you to create powerful and flexible C++ code. The course optionally includes Boost, STL, or ATL. Training course titled C++ Training: Advanced C++: C++17 & More that will allow you to hone your professional skills.

Mar 4 - 7, 2025$3,750.00Apr 8 - 11, 2025$3,750.00May 6 - 9, 2025$3,750.00Jun 3 - 6, 2025$3,750.00Jul 8 - 11, 2025$3,750.00

C++ Training: Mastering Advanced Object Programming

The course Mastering Advanced Object Programming (C++ Training) begins with a brief overview of C++ object oriented programming. The training includes pure virtual functions, abstract classes, multiple inheritance & polymorphism. Concepts such as templates, design patterns and the use of smart pointers are discussed in practice. This is C++ programming from the ground up. Training course titled C++ Training: Mastering Advanced Object Programming that will allow you to hone your professional skills.

Feb 25 - 28, 2025$3,750.00Mar 25 - 28, 2025$3,750.00Apr 29 - May 2, 2025$3,750.00May 27 - 30, 2025$3,750.00Jun 24 - 27, 2025$3,750.00Jul 29 - Aug 1, 2025$3,750.00

C++ Training: Mastering the Qt Library

The course Mastering the Qt Library (C++ Training) explore the power and flexibility of the Qt library. Starting with a solid introduction to the Qt library, you learn to build user interfaces with the Qt library. The training includes the use of core classes, dialogs, windows, widgets, MVC as well as painting and styling. The Qt Graphics View is covered at the end if time permits. Training course titled C++ Training: Mastering the Qt Library that will allow you to hone your professional skills.

Feb 19 - 21, 2025$3,750.00Mar 19 - 21, 2025$3,750.00Apr 23 - 25, 2025$3,750.00May 21 - 23, 2025$3,750.00Jun 18 - 20, 2025$3,750.00Jul 23 - 25, 2025$3,750.00

C++ Training: Objective-C Programming

The course Objective-C Programming (C++ Training) teaches you about Objective-C programming for Apple IOS devices. The training includes programming basics such as environment setup, variables, data types, control structures, functions & structure. The course also covers object oriented programming with Objective-C including classes, inheritance, polymorphism, interfaces & abstract classes to name a few. Our Objective-C training experience concludes with an exploration of controls and the MVC design pattern including views, models & controllers. Training course titled C++ Training: Objective-C Programming that will allow you to hone your professional skills.

Feb 18 - 21, 2025$3,750.00Mar 18 - 21, 2025$3,750.00Apr 22 - 25, 2025$3,750.00May 20 - 23, 2025$3,750.00Jun 17 - 20, 2025$3,750.00Jul 22 - 25, 2025$3,750.00

C++ Training: The Complete C Programming Course

The course The Complete C Programming Course (C++ Training) covers C programming from A to Z. The training includes basic C data types & structures, functions, memory management, pointers & more. The course also discusses compiler options & directives as they apply to Windows & Linux. Training course titled C++ Training: The Complete C Programming Course that will allow you to hone your professional skills.

Feb 25 - 28, 2025$3,750.00Mar 25 - 28, 2025$3,750.00Apr 29 - May 2, 2025$3,750.00May 27 - 30, 2025$3,750.00Jun 24 - 27, 2025$3,750.00Jul 29 - Aug 1, 2025$3,750.00