This course uses a number of interactive features to help you learn the Gang of Four Patterns.
You may want to review the following features before starting your coursework.
None of the design patterns in this course describes new or unproven designs.
We have included only designs that have been applied more than once in different systems and most of these designs have been documented before by the Gang of Four.
They are either part of the object-oriented community or are elements of some successful object-oriented systems, neither of which is easy for inexperienced developers to learn from.
Although these designs are not new, they are captured in a new and accessible way, that is
As a catalog of design patterns having a consistent format".
Despite the size of the course and website, the design patterns at this site capture only a fraction of what an expert might know.
It does not contain patterns dealing with
distributed programming or
It does contain any application domain-specific patterns. It does not tell you how to build user interfaces, how to write device drivers, or how to use an object-oriented database.
Each of these areas has its own patterns and are currently being modeled by various developers.
Quizzes and Exercises
Throughout the GOFPatterns website, (Gang of Four Patterns), you will find multiple-choice quizzes and hands-on exercises.
These learning checks will allow you to assess what you have learned. Some of the exercises in this course require you to copy and paste text between a text editor and your web browser. This is easily accomplished on a Windows, Linux and MAC platforms.
Slide Show Widget
A SlideShow is web component that presents a series of images that you can flip through, either forward or backward. In this course, we will be using SlideShows to illustrate some of the commonly used Gang of Four Patterns.
Whenever you see this graphic within the course, a tooltip that explains or dissects some element of a design pattern will follow. Move your mouse cursor over the elements of the image to display the explanations.