Content deleted Content added
m →Design patterns: Change from h3 to h2 |
Split Publish–subscribe pattern and Observer pattern -- they are distinct |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 5:
Examples of this type of design pattern include:
: : Command objects are handled or passed on to other objects by logic-containing processing objects : Command objects encapsulate an action and its parameters : Turn a [[Recursion (computer science)|recursive function]] into an [[iterative |
|
|
|
|
|
|
|url-status = bot: unknown
}}</ref>
: Implement a specialized computer language to rapidly solve a specific set of problems : : Provides a unified interface to a set of interfaces in a subsystem : Provides the ability to restore an object to its previous state (rollback) : 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>
;[[Protocol stack]]
|url
|
| access-date = 2012-05-21▼
|archive-url = https://web.archive.org/web/20110303085751/http://c2.com/
|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>
▲* [[Protocol stack]]: Communications are handled by multiple layers, which form an encapsulation hierarchy<ref>{{cite web
;[[Scheduled-task pattern]]
▲ | url = http://c2.com/
▲ | title = Protocol Stack
;[[Single-serving visitor pattern]]
;[[Specification pattern]]
▲ | archive-date = 2006-09-05
;[[State pattern]]
;[[Strategy pattern]]
▲* [[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
;[[Template method pattern]]
▲* [[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
;[[Visitor pattern]]
▲* [[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
▲* [[Visitor pattern]]: A way to separate an algorithm from an object
==See also==
|