EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

C++ Design Pattern

Course outline

5 days

Duration

5 days

Objective

To familiarize participants with concept of Design Patterns and their applications in object-oriented programming languages.

Participants’ Entry Profile

Experience in OOPS Language is a must – Java, C++

Setup Requirements

Participant’s as well as Trainer’s Machine are required to have :

Hardware

Intel Dual Core

8 GB RAM

SVGA Colour Monitor

LAN Connectivity

100MB HDD (Free Space)

Software

Windows 7+

Microsoft SQL Server 2000/2005, Northwind

Sample Database

Microsoft Visual Studio .Net 2017 Ultimate or

Professional or Community

Training Lab Requirements

Whiteboard Recommended size - 6 feet by 4 feet

Whiteboard markers – Red, Blue, Green, Black

Video Projector (1024 X 768 resolutions)

Course Outline

Object Oriented Design Principles

  • Single Responsibility Principle
  • Opened Closed Principle
  • Liscov Substitution Principle
  • Interface Segregation Principle
  • Dependency Inversion Principle

Design Patterns

  • What are design patterns?
  • What kind of problems do they solve?
  • What makes a pattern a “pattern”?
  • Benefits and drawbacks of patterns.
  • Design Patterns in Real Life
  • Software Design Patterns – Gang Of Four

Pattern Catalog

  • Creational Patterns – Initialize and configure objects
  • Structural Patterns – Decouple interface and implementation
  • Behavioral Patterns – Dynamic interaction between classes and
  • Objects

Applying Patterns

  • Communicable Name
  • Intent
  • Force(s) addressed
  • Structure and Collaboration
  • Consequences
  • Known uses
  • Related pattern(s)

Creational Patterns

  • Singleton Pattern – Restricting multi-instance problem in given context
  • Class Factory (non GoF) – Dynamically creating objects at runtime
  • Factory method – Deferring creation to subclasses
  • Abstract Factory – Creating family of related classes
  • Prototype – Cloning objects for enhanced performance
  • Builder – Constructing complex objects incrementally

Structural Patterns

  • Adapter – Translating Server interface for the client
  • Bridge – Abstraction binding one of many implementations
  • Composite – Building recursive aggregations
  • Decorator – Extending objects transparently
  • Facade – Building a simple interface for complex subsystems
  • Flyweight – Sharing fine-grained objects efficiently
  • Proxy – Approximating target object

Behavioral Patterns

  • Chain of responsibility – Routing requests thru a list of service providers
  • Command – Encapsulation request in objects and dispatching
  • Interpreter – Implementing small language grammar
  • Iterator – Accessing aggregation/collection sequentially
  • Mediator – Coordinate interaction between associates
  • Memento – Capture and Restore object’s state’s snapshots
  • Observer – Implementing update notification when subject changes
  • State – Object behavior change based on current state
  • Strategy – Substitute algorithms dynamically at runtime
  • Template Method – Deferring algorithm steps selectively to subclasses
  • Visitor – Externalizing operations on a object’s structure

Q/A

DISCLIAMER: Training will be based on hands-on.

Programme scope, delivery arrangements and suitability are confirmed during enquiry.