Duration
2 days (10:00 AM - 5:00 PM Eastern)
Cost
$650.00
Online Schedule
  • Mar 9 - Mar 10
  • Apr 23 - Apr 24
  • May 28 - May 29
  • Jun 29 - Jun 30

Details

Subjects Covered

Prerequisites

Setup Requirements

Details

Course Details

This course provides software developers with skills to create high quality, object-oriented designs exhibiting improved flexibility, reduced maintenance costs, and increased understanding of the resulting code. Participants learn by examining and discussing the 23 patterns made famous by the "Gang of Four" book. Although this course is theoretical, examples and code snippets are provided to illustrate the patterns and the rationale for using that pattern. 

This course is designed for software developers looking to improve their design choices in creating object-oriented applications.

  • Improve software architecture
  • Build design pattern vocabulary
  • Discuss trade-offs in applying various design patterns
  • Gain concepts and tools for writing better object-oriented code
  • Gain concepts for better documenting object-oriented code
  • Review relevant UML notation

Subjects Covered

Object-Oriented Design Patterns

  • Overview
    • What are Design Patterns?
    • Principles of Patterns
    • Categorization of Patterns
    • UML Review
  • Object Creation Patterns
    • Factory Method
    • Abstract Factory
    • Builder
    • Prototype
    • Singleton
  • Structural Patterns
    • Adapter
    • Decorator
    • Proxy
    • Facade
    • Composite
    • Flyweight
    • Bridge
  • Behavioral Patterns
    • Chain of Responsibility
    • Strategy
    • Iterator
    • Template Method
    • Mediator
    • Observer
    • Memento
    • Command
    • State
    • Visitor
    • Interpreter

Prerequisites

Before Taking this Class

Knowledge of and programming experience with an object-oriented programming language.

Setup Requirements

Software/Setup For this Class

None

Onsite Training

Do you have five (5) or more people needing this class and want us to deliver it at your location?