Home About Courses Schedule Services Webinars Contact Search

Exploring Design Patterns


Duration: 2 Days

Method: Instructor led, Hands-on workshops

Price: $1125.00

Course Code: JA1509


This is an introductory to intermediate level training course, designed for experienced Java developers and architects who need to implement applications using the Spring framework.


Would you like to explore proven, real-world techniques to meet the biggest challenge in the software development community - building quality systems which fulfill your requirements, and delivering them on time? The focus of this course is to give you the practical skills that are most critical in building well designed software systems. It is extremely hands-on and applied, as well as giving you the formal knowledge you need to be fully conversant in this important area.

This course explores the most common object-oriented design patterns (Gang of Four) and how to use these patterns to develop solid, robust and reusable software development applications. It covers the patterns in the three core areas: Creational, Structural, and Behavioral.

Hands-on design projects and programming labs are used throughout. Course examples in the slides are geared towards Java. There are also several projects interlaced in the course, in addition to coding labs.


Upon successful completion of this course, the student will be able to:

  • Explore and understand basic Design Pattern concepts
  • Use Design Patterns effectively to build robust, well designed, reusable systems
  • Be familiar with the GOF Patterns
  • Creational: Abstract Factory - (full), Factory Method - (full), Singleton - (full), Builder - (brief), Prototype - (brief)
  • Structural: Composite - (full), Adapter - (full), Proxy - (full), Bridge - (brief), Facade - (brief), Decorator - (brief)
  • Behavioral: Observer - (full), Strategy - (full), Iterator - (full), Visitor - (short), Interpreter - (short), Chain of Command - (short), Command - (short), Mediator - (short), State - (short)


Attendees should have practical experience developing basic Java applications.


  • I. Introduction to Design Patterns
    • Overview of OO concepts and Interfaces
    • The Iterator Pattern - Learning Patterns via an Example (with Lab)
    • Background/History of Patterns
  • II. Design Patterns: A More Formal Approach
    • UML Overview
    • Gang of Four (GOF) Patterns Description
    • GOF Patterns Catalog
  • III. Moving Deeper into Patterns
    • Factory Method Pattern (with Lab)
    • Strategy Pattern (with Lab)
    • Decorator Pattern (with Lab)
    • Composite Pattern
    • Template Method Pattern
  • IV. Exploring Other Patterns
    • Command Pattern (with Lab)
    • Chain of Responsibility Pattern (with Lab)
    • Proxy Pattern
    • Fa├žade Pattern
    • Patterns for Enterprise Systems