While studying design patterns with the help of an exceptional learning aid called Head First Design Patterns, I will be populating this page with the definition of each design pattern.
Strategy Pattern defines a family of algorithms, encapsulates each one and makes them interchangeable. Strategy lets the algorithms vary independently from the clients that use it.
Observer Pattern defines a one-to-many dependency between objects so that when one objecg changes state, all of its dependents are notified and updated automatically.
Decorator Pattern attaches additional responsibilites to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality.
Factory Method Pattern defines an interface for creating an object, but lets subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.
Abstract Factory Pattern provides an interface for creating families of related or dependant objects without specifying their concrete classes.
Singleton Pattern ensures a class has only one instance, and provides a global point of access to it.
I will continue to update this cheat sheet with more pattern deffinitions as I get further along in the book.