Nazzaro & Associates

The Future of Technology Today SM


Contact Us

Introduction to Design Patterns

Download Course Details (PDF)


Design patterns are proven solutions to software design problems that are independent of platform or language. With a knowledge of design patterns, a designer or architect can leverage the collective knowledge and expertise of the software community. This introductory course surveys design patterns that occur in many areas of software development so that students can attain an appreciation of what design patterns are, and how to use them effectively on their development projects.


At the end of the course, the student will be able to:

  • Explain the role and value of patterns

  • Explain how design patterns provide value to software development.

  • Discuss the occurrence of design patterns, and  when to use each pattern.

  • Explain critically important design principles from Martin, Meyer and others.


Two days


Experience in software design or architecture is desirable, but not mandatory. At least 6 months of programming experience in Java, C# or C++ is highly desirable.


Please call 1-610-831-1151 for public enrollment and private, on-site pricing.


This 2-day course is designed to provide students with an introductory understanding of the role of design patterns in software development. This course comprehensively presents core design principles that all software developers need to know. Patterns will be studied from the classic Design Patterns book by the “Gang of Four” (GoF), plus software architectural patterns.


Topics (** want complete coverage, see our 4-day **)

Design Pattern Overview

Principles of Object-Oriented Design

  • Meyer’s Open-Closed Principle

  • Martin’s Design Principles

  • SRP, ISP, DIP, etc.

Basic Object-Oriented Design Patterns

  • Delegation vs. Inheritance

  • Design to Interface

  • Null Object, etc.

Key Gang of Four Creational Patterns

  • Factory Method

  • Abstract Factory

  • Singleton

Key Gang of Four Structural Patterns

  • Adapter

  • Facade

  • Composite

  • Bridge

Key Gang of Four Behavioral Patterns

  • Strategy

  • Template Method

  • Observer

Additional Gang of Four Patterns

  • Decorator

  • Proxy

  • Iterator

  • Command

  • State

Pattern-Oriented Software Architecture

  • Layers Architecture

  • Broker

  • Model-View-Controller

  • Presentation-Abstraction-Control

  • Reflection




Software developers, designers and architects who desire an introductory understanding of design patterns.


 For more information about this course or other courses please contact Nazzaro & Associates at 1.610.831.1151 or


Back to Top