Chain-of-responsibility pattern: Difference between revisions

Content deleted Content added
m Added implementation in PHP example.
Monkbot (talk | contribs)
m Task 18 (cosmetic): eval 4 templates: hyphenate params (2×);
Line 15:
 
<big>What problems can the Chain of Responsibility design pattern solve?</big>
<ref>{{cite web|title=The Chain of Responsibility design pattern - Problem, Solution, and Applicability|url=http://w3sdesign.com/?gr=b01&ugr=proble|website=w3sDesign.com|accessdateaccess-date=2017-08-12}}</ref>
* Coupling the sender of a request to its receiver should be avoided.
* It should be possible that more than one receiver can handle a request.
Line 35:
== Structure ==
=== UML class and sequence diagram ===
[[File:w3sDesign Chain of Responsibility Design Pattern UML.jpg|frame|none|A sample UML class and sequence diagram for the Chain of Responsibility design pattern. <ref>{{cite web|title=The Chain of Responsibility design pattern - Structure and Collaboration|url=http://w3sdesign.com/?gr=b01&ugr=struct|website=w3sDesign.com|accessdateaccess-date=2017-08-12}}</ref>]]
 
In the above [[Unified Modeling Language|UML]] [[class diagram]], the <code>Sender</code> class doesn't refer to a particular receiver class directly.