*
Share This
Software design pattern table
table started by
cip22 for the cip22's Base
Information about design patterns in general is available under the design pattern topic.
\^/ Plot Points:
select property to plot
x
Add another type with the property you want to view.
| x name | x image | x Also Typed With | x Pattern type | x article |
|---|---|---|---|---|
| x Observer pattern |
|
Behavioral pattern |
The observer pattern (sometimes known as publish/subscribe) is a software design pattern in which an object maintains a list of its dependents and notifies them automatically of any state changes, usually by calling one of their methods. It is...
|
|
| x Decorator pattern |
|
Structural pattern |
In object-oriented programming, the decorator pattern is a design pattern that allows new/additional behaviour to be added to an existing class dynamically.
The decorator pattern can be used to make it possible to extend (decorate) the functionality...
|
|
| x Adapter pattern |
|
Structural pattern |
In computer programming, the adapter design pattern (often referred to as the wrapper pattern or simply a wrapper) translates one interface for a class into a compatible interface. An adapter allows classes to work together that normally could not...
|
|
| x Command pattern |
|
Behavioral pattern |
In object-oriented programming, the Command pattern is a design pattern in which objects are used to represent actions. A command object encapsulates an action and its parameters.
For example, a printing library might include a PrintJob class. A...
|
|
| x Composite pattern |
|
Structural pattern |
In computer science, the composite pattern is a partitioning design pattern. Composite allows a group of objects to be treated in the same way as a single instance of an object. The intent of composite is to "compose objects into tree structures to...
|
|
| x Builder pattern |
|
Creational pattern |
The Builder Pattern is a software design pattern. The intention is to abstract steps of construction of object so that different implementations of these steps can construct different representations of objects.
Often, the Builder Pattern is used to...
|
|
| x Factory method pattern |
|
Creational pattern |
The factory method pattern is an object-oriented design pattern. Like other creational patterns, it deals with the problem of creating objects (products) without specifying the exact class of object that will be created. The factory method design...
|
|
| x Abstract factory pattern |
|
Creational pattern |
A software design pattern, the Abstract Factory Pattern provides a way to encapsulate a group of individual factories that have a common theme. In normal usage, the client software would create a concrete implementation of the abstract factory and...
|
|
| x Strategy pattern |
|
Behavioral pattern |
In computer programming, the strategy pattern (also known as the policy pattern) is a particular software design pattern, whereby algorithms can be selected at runtime.
In some programming languages, such as those without polymorphism, the issues...
|
|
| x Template method pattern | Behavioral pattern |
In software engineering, the template method pattern is a design pattern. It is a so-called behavioral pattern, and is unrelated to C++ templates.
In a template pattern, the model (data such as XML, or a set of APIs) has no inherent knowledge of how...
|
||
| x Singleton pattern |
|
Creational pattern |
In software engineering, the singleton pattern is a design pattern that is used to restrict instantiation of a class to one object. (This concept is also sometimes generalized to restrict the instance to a specific number of objects - for example,...
|
|
| x State pattern |
|
Behavioral pattern |
The state pattern is a behavioral software design pattern, also known as the objects for states pattern. This pattern is used in computer programming to represent the state of an object. This is a clean way for an object to partially change its type...
|
|
| x Mediator pattern |
|
Behavioral pattern |
The mediator pattern, one of the 23 design patterns described in Design Patterns: Elements of Reusable Object-Oriented Software, provides a unified interface to a set of interfaces in a subsystem. This pattern is considered to be a behavioral...
|
|
| x Visitor pattern |
|
Behavioral pattern |
In object-oriented programming and software engineering, the visitor design pattern is a way of separating an algorithm from an object structure upon which it operates. A practical result of this separation is the ability to add new operations to...
|
|
| x Chain-of-responsibility pattern |
|
Behavioral pattern |
In Object Oriented Design, the chain-of-responsibility pattern is a design pattern consisting of a source of command objects and a series of processing objects. Each processing object contains a set of logic that describes the types of command...
|
|
| x Interpreter pattern |
|
Type/domain equivalent topic | Behavioral pattern |
In computer programming, the interpreter pattern is a particular design pattern. The basic idea is to implement a specialized computer language to rapidly solve a defined class of problems. Specialized languages often let a problem be solved several...
|
| x Iterator pattern |
|
Behavioral pattern |
In object-oriented programming, the Iterator pattern is a design pattern in which iterators are used to access the elements of an aggregate object sequentially without exposing its underlying representation. An Iterator object encapsulates the...
|
|
| x Memento pattern |
|
Behavioral pattern |
The memento pattern is a software design pattern that provides the ability to restore an object to its previous state (undo via rollback).
The memento pattern is used by two objects: the originator and a caretaker. The originator is some object that...
|
|
| x Prototype pattern |
|
Creational pattern |
A prototype pattern is a creational design pattern used in software development when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects. This pattern is used to:
To implement the pattern,...
|
|
| x Bridge pattern |
|
Structural pattern |
The bridge pattern is a design pattern used in software engineering which is meant to "decouple an abstraction from its implementation so that the two can vary independently" . The bridge uses encapsulation, aggregation, and can use inheritance to...
|
|
| x Façade pattern |
|
Structural pattern |
The façade pattern is a software engineering design pattern commonly used with Object-oriented programming.
A facade is an object that provides a simplified interface to a larger body of code, such as a class library. A facade can:
An Adapter is...
|
|
| x Flyweight pattern |
|
Structural pattern |
Flyweight is a software design pattern. A Flyweight is an object that minimizes memory occupation by sharing as much data as possible with other similar objects; it is a way to use objects in large numbers when a simple representation would use an...
|
|
| x Proxy pattern |
|
Structural pattern |
In computer programming, the proxy pattern is a software design pattern.
A proxy, in its most general form, is a class functioning as an interface to another thing. The other thing could be anything: a network connection, a large object in memory, a...
|
|
