Behavioral pattern: Difference between revisions

Content deleted Content added
Format as definition list
Split Publish–subscribe pattern and Observer pattern -- they are distinct
 
(2 intermediate revisions by 2 users not shown)
Line 7:
;[[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]]
Line 13:
;"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/cgi/wiki?ExternalizeTheStack
| archive-date = 20102011-0103-1903
| access-date = 2012-05-21
|url-status = bot: unknown
}}</ref>
;[[Interpreter pattern]]
Line 32 ⟶ 33:
: Designed to act as a default value of an object
<dl>
<dt>[[Observer pattern]]</dt>
<dd>Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. The variant '''weak reference pattern''' decouples an observer from an observable to avoid memory leaks in environments without automatic weak references.<ref>{{cite web |last=Nakashian |first=Ashod |date=2004-04-11 |title=Weak Reference Pattern |url=http://c2.com/ |url-status=bot: unknown |archive-url=https://web.archive.org/web/20110303085751/http://c2.com/ |archive-date=2011-03-03 |access-date=2012-05-21 |publisher=c2.com}}</ref></dd></dl>
<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 = http://c2.com/cgi/wiki?WeakReferencePattern
| archive-date = 2004-04-11
| access-date = 2012-05-21
}}</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/cgi/wiki?ProtocolStack
| archive-date = 20062011-0903-0503
| access-date = 2012-05-21
|url-status = bot: unknown
}}</ref>
;[[Publish–subscribe pattern]]<dd>A messaging pattern where senders (publishers) and receivers (subscribers) are decoupled via message topics and brokers. Commonly used in distributed systems, this pattern supports asynchronous, many-to-many communication.</dd>
;[[Scheduled-task pattern]]
: A task is scheduled to be performed at a particular interval or clock time (used in [[real-time computing]])