In
software engineering, behavioral design patterns are
design patterns that identify common communication patterns among objects. By doing so, these patterns increase flexibility in carrying out communication.
Design patterns
Examples of this type of design pattern include:
*
Blackboard design pattern
In software engineering, the blackboard pattern is a behavioral design pattern that provides a computational framework for the design and implementation of systems that integrate large and diverse specialized modules, and implement complex, non-det ...
: provides a computational framework for the design and implementation of systems that integrate large and diverse specialized modules, and implement complex, non-deterministic control strategies
*
Chain of responsibility pattern: Command objects are handled or passed on to other objects by logic-containing processing objects
*
Command pattern: Command objects encapsulate an action and its parameters
* "Externalize the stack": Turn a recursive function into an iterative one that uses a
stack
Stack may refer to:
Places
* Stack Island, an island game reserve in Bass Strait, south-eastern Australia, in Tasmania’s Hunter Island Group
* Blue Stack Mountains, in Co. Donegal, Ireland
People
* Stack (surname) (including a list of people ...
*
Interpreter pattern
In computer programming, the interpreter pattern is a design pattern that specifies how to evaluate sentences in a language.
The basic idea is to have a class for each symbol (terminal or nonterminal) in a specialized computer language. The syn ...
: Implement a specialized computer language to rapidly solve a specific set of problems
*
Iterator pattern: Iterators are used to access the elements of an aggregate object sequentially without exposing its underlying representation
*
Mediator pattern: Provides a unified interface to a set of interfaces in a subsystem
*
Memento pattern: Provides the ability to restore an object to its previous state (rollback)
*
Null object pattern: Designed to act as a default value of an object
*
Observer pattern: a.k.a. Publish/Subscribe or Event Listener. Objects register to observe an event that may be raised by another object
** Weak reference pattern: De-couple an observer from an observable
*
Protocol stack: Communications are handled by multiple layers, which form an encapsulation hierarchy
*
Scheduled-task pattern: A task is scheduled to be performed at a particular interval or clock time (used in
real-time computing)
*
Single-serving visitor pattern: Optimise the implementation of a visitor that is allocated, used only once, and then deleted
*
Specification pattern: Recombinable business logic in a
boolean
Any kind of logic, function, expression, or theory based on the work of George Boole is considered Boolean.
Related to this, "Boolean" may refer to:
* Boolean data type, a form of data with only two possible values (usually "true" and "false" ...
fashion
*
State pattern: A clean way for an object to partially change its type at runtime
*
Strategy pattern: Algorithms can be selected on the fly, using composition
*
Template method pattern: Describes the
skeleton
A skeleton is the structural frame that supports the body of an animal. There are several types of skeletons, including the exoskeleton, which is the stable outer shell of an organism, the endoskeleton, which forms the support structure inside ...
of a program; algorithms can be selected on the fly, using inheritance
*
Visitor pattern: A way to separate an algorithm from an object
See also
*
Concurrency pattern
*
Creational pattern
*
Structural pattern
References
{{Design Patterns patterns
Software design patterns