Chain of responsibility

12
Chain of responsibility

Transcript of Chain of responsibility

Page 1: Chain of responsibility

Chain of responsibility

Page 2: Chain of responsibility

Назначение• В разрабатываемой системе имеется группа

объектов (возможно создаваемых динамически), которые могут обрабатывать сообщения клиента по типу «обработай сам и/либо перешли другому»

FILEFoo.txt1024 Bytes

File Name handler

File Size handler

Accept() Accept()

Page 3: Chain of responsibility

FILE

Foo.txt1024 Bytes

File Name filter

File Size filter

Accept() Accept()

Page 4: Chain of responsibility

Применимость

• избежать жесткой привязки отправителя запроса к получателю, позволяя нескольким объектам обработать запрос

Page 5: Chain of responsibility

Let’s code

Page 6: Chain of responsibility

Делаем общий Handler

Page 7: Chain of responsibility

UML

Page 8: Chain of responsibility

Делаем реализации

Page 9: Chain of responsibility

Делаем реализации

Page 10: Chain of responsibility

UML

Page 11: Chain of responsibility

Демка

Page 12: Chain of responsibility

Refs

• Github: bit.ly/resp-example• Presentation: bit.ly/resp-ppt