From 30ea82d9ef8f2b5e928b09cebb0444f187b7f52c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ilkka=20Sepp=C3=A4l=C3=A4?= Date: Sun, 24 Aug 2014 20:28:33 +0300 Subject: [PATCH] Update README.md --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index ef3f54904..054907a44 100644 --- a/README.md +++ b/README.md @@ -128,6 +128,13 @@ ##Chain of responsibility **Intent:** Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it. +![alt text](https://github.com/iluwatar/java-design-patterns/blob/master/chain/etc/chain.jpg "Chain of Responsibility") + +**Applicability:** Use Chain of Responsibility when +* more than one object may handle a request, and the handler isn't known a priori. The handler should be ascertained automatically +* you want to issue a request to one of several objects without specifying the receiver explicitly +* the set of objects that can handle a request should be specified dynamically + ##Command **Intent:** Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.