EncartaLabs

C++ Design Patterns

( Duration: 4 Days )

C++ Design Patterns are standard solutions to common software design problems. Instead of focusing on how individual components work, design patterns are a systematic approach that focus and describe abstract systems of interaction between classes, objects, and communication flow.

C++ Design Patterns training course explores advanced principles of object-oriented design by studying key software design patterns. The patterns are drawn from a variety of sources and illustrated through examples and case studies. Examples are presented in C++ Language. Participants will also have an opportunity to apply these patterns through a series of hands-on exercises.

By attending C++ Design Patterns workshop, Participants will:

  • Understand the design patterns that are common in software applications
  • Have a deeper knowledge of the principles of object-oriented design
  • Understand how these patterns relate to object-oriented design
  • Develop programs that are extensible, flexible, maintainable, modular, portable, reusable & understandable

  • Atleast One year of programming experience in C++

COURSE AGENDA

1

Design and architecture

  • what is software architecture?
  • describing or defining an architecture
  • reuse of knowledge
  • patterns in software design
2

Pattern structure

  • basic form
  • problem and forces
  • solution and consequences
  • an example: the Composite pattern
  • documenting patterns
  • documenting pattern use
3

Organizing patterns

  • pattern catalogues
  • the "Gang of Four"
  • "Pattern-Oriented Software Architecture" (POSA)
  • strategic versus tactical patterns
  • review of organizational patterns
  • review of analysis patterns
  • review of architectural patterns
  • review of design patterns and idioms
  • pattern languages
4

Delegation patterns

  • basic principles
  • Adapter and its variations
  • Proxy
  • Bridge
  • Manager
5

Decoupling patterns

  • layers
  • Interface Decoupling
  • Role Decoupling
  • Observer
  • The Law of Demeter
6

Creational patterns

  • Factory Method
  • Disposal Method
  • Singleton (and issues)
  • Cloning
  • Copy Constructor
7

Value patterns

  • value-based programming
  • Whole Value
  • Value Object
  • Enumeration Values
  • Class Factory Method
  • Copied Value
  • Immutable Value
  • Mutable Companion
8

Functional patterns

  • Named Selector
  • Command
  • Command Processor
  • Command Adapter
  • Composite Command
  • Composite Exception
  • Block
  • Active Object
9

Sequential patterns

  • Combined Method
  • Finally for Each Release
  • Execute-around Method
10

Iteration patterns

  • Iterator
  • Combined Iterator
  • Enumeration Method
11

Selection patterns

  • Null Object
  • State-based Selection
  • Objects for States (State)

Encarta Labs Advantage

  • One Stop Corporate Training Solution Providers for over 4,000 Modules on a variety of subjects
  • All courses are delivered by Industry Veterans
  • Get jumpstarted from newbie to production ready in a matter of few days
  • Trained more than 50,000 Corporate executives across the Globe
  • All our trainings are conducted in workshop mode with more focus on hands-on sessions

View our other course offerings by visiting http://encartalabs.com/course-catalogue-all.php

Contact us for delivering this course as a public/open-house workshop/online training for a group of 10+ candidates.

Top