This two-day course that continues the exploration of design patterns begun in the Design Patterns Thinking course. This course presents detailed case studies and additional patterns.


Course Objectives: 

This course continues the exploration of design patterns thinking by exploring additional patterns and case studies. This course discusses patterns as forces, enabling them to be used even when the classic context for the pattern does not exist. It also continues with the principles of Commonality and Variability Analysis.

Learning Objectives: 

In this course, you will:

  • Learn seven patterns

  • Review and discuss case studies involving design patterns

  • Deepen your understanding of Commonality and Variability Analysis

  1. The Nature of Software Development

  2. Discussion of qualities, practices and principles, patterns, and the design paradigm

  3. Encapsulation of: Varying Behavior

  4. Encapsulation of: Entities

  5. Encapsulation of: Structure

  6. Encapsulation of: Construction

  7. Encapsulation of: Sequence, Cardinality

  8. Encapsulation of: Responsibility

  9. Meta Pattern: Hiding the Composite Pattern with Iterator and Value Object Patterns and Forces

  10. Encapsulation of: Relationships

  11. Conclusions, Recommendations for Further Study, Support Options

Full Description

In Design Patterns Thinking, participants learned to use design patterns to support Agile development. This is what enables the emergent design that is needed on Agile projects. Advanced Software Design continues this thinking by exploring additional patterns and case studies. Here are the patterns that are covered in this course.

  • Visitor

  • Mediator

  • Builder

  • State

  • Composite

  • Observer

  • Command


Participants must be very familiar design patterns. Here are recommendations:

Max class size



2 Days




Advanced Software Design