Я обнаружил, что часто использую шаблон Chain of Responsibility (3 раза часто для меня) в моем текущем проекте, Мне интересно, если я немного переусердствовал в решении. В частности, я использую цепочный проект Apache Commons . Таким образом, я был очень впечатлен тем, как он упростил ряд сложных взаимозаменяемых фрагментов прикладной логики в более сплоченное и организованное целое. Тем не менее, некоторые из новых людей в проекте, похоже, испытывают трудности с его получением. Каковы ваши впечатления? Какие проблемы вы столкнулись при его реализации?
Пока, единственная проблема, я заметил, что это когда вы пытаетесь разобраться с объектами, которые необходимо закрыть. Наличие тех объектов, которые хранятся в вашем классе Context, вызывает боль, когда вы завершили выполнение своей цепочки. Мне удалось обойти это с помощью Filters вместо Commands, но это кажется немного неинтуитивным, потому что ваши закрытые утверждения часто очень далеки от того, где был создан объект.
В любом случае, я хотел бы услышать мысли от некоторых разработчиков, у которых больше опыта, чем я с этим шаблоном.
Спасибо заранее.