GoF Design Patterns

A design pattern is a general, reusable solution to a commonly occurring software problem. They are templates that can be reused and customized to solve a particular design problem in many different situations.

Visitor

This is a class diagram example for the Visitor pattern. Purpose Allows for one or more operations to be applied…

Template Method

This is a UML class diagram example for the template method pattern. Purpose Identifies the framework of an algorithm, allowing…

Strategy

This is a class diagram for strategic design pattern. Purpose Defines a set of encapsulated algorithms that can be swapped…

State

This is a class diagram for the state design pattern Purpose Ties object circumstances to its behavior, allowing the object…

Observer

This is a UML class diagram for the observer design pattern. Purpose Lets one or more objects be notified of…

Memento

This is a UML class diagram example for the Mememo design pattern. Purpose Allows for capturing and externalizing an object's…

Mediator

This is a class diagram example for the Mediator design pattern. Purpose Allows loose coupling by encapsulating the way disparate…

Iterator

This is a class diagram example for the Iterator design pattern. Purpose Allows for access to the elements of an…

Interpreter

This is a class diagram example for the Interpreter design pattern. Purpose Defines a representation for a grammar as well…

Command

This is a UML class diagram example for the Command design pattern. Purpose Encapsulates a request allowing it to be…