Naz-Tek Services, Inc.

Writing Software To Provide Strategic Advantage

Home     Development Guidelines     Design Patterns     Knowledgebase     Trainingbase     Blog Feed     Events     Tools     About Us     Contact Us      
GOF Design Patterns

 Creational Patterns


Singleton

A class of which only a single instance can exist

Wiki | DoFactory | OOD | SM

Builder

Separates object construction from its representation

Wiki | DoFactory | OOD | SM

Prototype

A fully initialized instance to be copied or cloned

Wiki | DoFactory | OOD | SM

Factory Method

Creates an instance of several derived classes

Wiki | DoFactory | OOD | SM

Abstract Factory

Creates an instance of several families of classes

Wiki | DoFactory | OOD | SM

Object Pool

Avoid expensive acquisition and release of resources by recycling objects that are no longer in use

OOD | SM

 Structural Patterns


Adapter

Match interfaces of different classes

Wiki | DoFactory | OOD | SM 

Bridge

Separates an object’s interface from its implementation

Wiki | DoFactory | OOD | SM 

Composite

A tree structure of simple and composite objects

Wiki | DoFactory | OOD | SM 

Decorator

Add responsibilities to objects dynamically

Wiki | DoFactory | OOD | SM 

Facade

A single class that represents an entire subsystem

Wiki | DoFactory | SM 

Flyweight

A fine-grained instance used for efficient sharing

Wiki | DoFactory | OOD | SM 

Proxy

An object representing another object

Wiki | DoFactory | OOD | SM

Private Class Data

Restricts accessor/mutator access

Wiki | SM

 Behavioral Patterns


Null Object

Designed to act as a default value of an object

Wiki | OOD | SM

Iterator

Sequentially access the elements of a collection

Wiki | DoFactory | OOD | SM

Chain of Responsibility

A way of passing a request between a chain of objects

Wiki | DoFactory | OOD | SM

State

Alter an object's behavior when its state changes

Wiki | DoFactory | SM

Strategy

Encapsulates an algorithm inside a class

Wiki | DoFactory | OOD | SM

Observer

A way of notifying change to a number of classes

Wiki | DoFactory | OOD | SM

Visitor

Defines a new operation to a class without change

Wiki | DoFactory | OOD | SM

Template Method

Defer the exact steps of an algorithm to a subclass

Wiki | DoFactory | OOD | SM

Command

Encapsulate a command request as an object

Wiki | DoFactory | OOD | SM

Interpreter

A way to include language elements in a program

Wiki | DoFactory | OOD | SM

Mediator

Defines simplified communication between classes

Wiki | DoFactory | OOD | SM

Memento

Capture and restore an object's internal state

Wiki | DoFactory | OOD | SM