Home Feedback Search Contents




Design Patterns in Object-Oriented Software Systems

Course Description

Designing object-oriented software is hard. Designing flexible, extensible, and reusable object-oriented software is even harder. Over the years, expert object-oriented designers have discovered solutions to many design problems that reoccur again and again. Now, some of these solutions, called Design Patterns, have been analyzed and documented. This course provides an introduction to these design patterns which will allow you to apply the knowledge of experts in your project.

Course Objective

The objective of this course is to prepare attendees to effectively use formal design patterns in their object-oriented applications. Upon completion of this course attendees will be able to:  

Understand the benefits of using patterns in the design of object-oriented systems. 
Describe a number of design patterns.
Recognize situations that can be addressed by specific design patterns. 
Choose an appropriate design pattern to solve a particular design problem. 
Mine patterns from your own systems 
Effectively document these patterns 


This course is primarily directed toward analysts and designers. In addition, programmers and testers would benefit from this material.


Object-Oriented Analysis and Design or its equivalent.

Course Duration

Design Patterns in Object-Oriented Software Systems is a three day course. It can be taught in two days as a lecture course.

Course Outline

  1. Reuse and the Object-Oriented Paradigm
  2. Object-oriented development 
    Methods of reuse 
    Design and redesign 
    Common causes of redesign
  3. Design Patterns
    What is a design pattern? 
    Evolution of patterns 
    Essential elements of patterns 
    Benefits of patterns 
    Purpose and scope of design patterns 
    List of design patterns 
    Creational, structural, and behavioral patterns
  4. Case Study: Recognizing and Using Design Patterns 
  5. A Survey of Patterns
  6. Creational
    Abstract factory 
    Factory method
    Template method
    Using Patterns
    Analysis vs. design patterns 
    Selecting a design pattern 
    Using a design pattern
    Mining Patterns
    Discovering patterns 
    Documenting patterns
    Writer's Workshop 
    The Future of Patterns
    How patterns help 
    For more information 
    To join the patterns community

Copyright © 2014 Korson-McGregor.  All rights reserved.