Я видел пример реализации шаблона CoR с использованием HashMap в качестве объекта, который передается по цепочке, возможно, с новым контентом, добавляемым к нему обработчиками; набросок кода ниже:
class HandlerImpl implements Handler {
Handler next;
void handle(HashMap context) {
// do handler logic, perhaps adding new stuff to "context"
if (next != null)
next.handle();
}
}
Заманчиво использовать, поскольку обработчики могут улучшить context
новой информацией, которая может использоваться следующими обработчиками без повторения кода. С другой стороны, обработчики становятся зависимыми друг от друга & mdash; они все еще слабо связаны, но, тем не менее, их порядок становится все более важным.
Этот код пахнет? Если мы обнаружим, что мы не можем делать с шаблоном CoR, не дополнив объект контекста новой информацией, какой шаблон следует использовать в таком случае?