Здравствуйте, vse_ravno_ya_budu_anonim, Вы писали:
___>Здравствуйте, Aviator, Вы писали:
A>>Далее, нередко требуется что бы обработать запрос мог только один компонент и при этом вернуть инициирующему запрос объекту результат...
___>Именно так и происходит. Обрабатывает запрос один компонент и возвращает результат. А если компонент не может обработать запрос, он передает его дальше.
а) компонент может обработать и передать дальше на дельнейшую обработку
б) компонент может сформировать новый запрос, отправить его по цепосчке и на основании этого запроса вернуть результат в инициирующий компонент
A>>И на последок — в некоторых случаях компонент должен быть уверен, что созданный им запрос был получен всеми объектами в цепочке...
___>Ну это да, об этом и упоминается — "получение не гарантировано".
обработан всеми означает, что каждый ПОЛУЧИТ возможность его обработать, то есть ни у какого компонента не будет возможность прервать цепочку
A>>Ну и напоследок — требуется средство формирование очереди, что бы некотрые объекты могли раньше получать сообщения...
___>Ну это, видимо, будет совсем другой паттерн. Скажи, какие у тебя задачи, постараюсь помочь чем смогу.
почему же другой, не другной а доработанный chain of responsibility

.
PS задача простая — хочется собрать набор компонент, на которые разбита исходная задача с минимальной связностью между ними и максимальной расширяемостью.