Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Behavioral pattern
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Design patterns == Examples of this type of design pattern include: ;[[Blackboard design pattern]] : 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 [[Recursion (computer science)|recursive function]] into an [[iterative function]] that uses a [[call stack|stack]]<ref>{{cite web |url = http://c2.com/ |title = Externalize The Stack |date = 2010-01-19 |publisher = c2.com |archive-url = https://web.archive.org/web/20110303085751/http://c2.com/ |archive-date = 2011-03-03 |access-date = 2012-05-21 |url-status = bot: unknown }}</ref> ;[[Interpreter pattern]] : Implement a specialized computer language to rapidly solve a specific set of problems ;[[Iterator pattern]] : [[Iterator]]s 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 <dl> <dt>[[Observer pattern]]</dt> <dd>a.k.a. Publish/Subscribe or Event Listener. Objects register to observe an event that may be raised by another object <dl> <dt>Weak reference pattern</dt> <dd>De-couple an observer from an observable<ref>{{cite web |first = Ashod |last = Nakashian |url = http://c2.com/ |title = Weak Reference Pattern |date = 2004-04-11 |publisher = c2.com |archive-url = https://web.archive.org/web/20110303085751/http://c2.com/ |archive-date = 2011-03-03 |access-date = 2012-05-21 |url-status = bot: unknown }}</ref> </dd> </dl> </dd> </dl> ;[[Protocol stack]] : Communications are handled by multiple layers, which form an encapsulation hierarchy<ref>{{cite web |url = http://c2.com/ |title = Protocol Stack |date = 2006-09-05 |publisher = c2.com |archive-url = https://web.archive.org/web/20110303085751/http://c2.com/ |archive-date = 2011-03-03 |access-date = 2012-05-21 |url-status = bot: unknown }}</ref> ;[[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 algebra|boolean]] 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 [[program skeleton|skeleton]] of a program; algorithms can be selected on the fly, using [[Inheritance (object-oriented programming)|inheritance]] ;[[Visitor pattern]] : A way to separate an algorithm from an object
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)