Behavioral pattern: Difference between revisions

Content deleted Content added
more examples from c2.com, add References section, de-stub
Line 5:
* [[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.<ref>http://c2.com/cgi/wiki?ExternalizeTheStack</ref>
* [[Interpreter pattern]]: 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
Line 11 ⟶ 12:
* [[Null Object pattern]]: designed to act as a default value of an object
* [[Observer pattern]]: aka Publish/Subscribe or Event Listener. Objects register to observe an event which may be raised by another object
** Weak reference pattern: De-couple an observer from an observable.<ref>http://c2.com/cgi/wiki?WeakReferencePattern</ref>
* [[Protocol stack]]: Communications are handled by multiple layers, which form an encapsulation heirarchy.<ref>http://c2.com/cgi/wiki?ProtocolStack</ref>
* [[State pattern]]: A clean way for an object to partially change its type at runtime
* [[Strategy pattern]]: Algorithms can be selected on the fly
Line 26 ⟶ 29:
* [[Concurrency pattern]]
 
==References==
{{comp-sci-stub}}
<references />
 
[[Category:Software design patterns]]