0
Исправлено
Chain of Responsibility
Здравствуйте, спасибо за отличный сайт!
В Java реализации паттерна "Chain of Responsibility" допущена ошибка в методе:
public Middleware linkWith(Middleware next) {
this.next = next;
return next;
}Таким образом, после построения цепочки, всегда будет вызываться лишь последний элемент. Предлагаю заменить текущую логику на:
public Middleware linkWith(Middleware next) {
if (this.next == null) {
this.next = next;
} else {
this.next.linkWith(next);
}
return this;
}Solution
Solution
Исправлено
Добрый день, Денис.
Спасибо за баг репорт. Я исправил баг немного по-другому, изменив порядок вызовов в клиентском коде.
Middleware middleware = new ThrottlingMiddleware(2);
middleware.linkWith(new UserExistsMiddleware())
.linkWith(new RoleCheckMiddleware());
Service d'assistance aux clients par UserEcho
Добрый день, Денис.
Спасибо за баг репорт. Я исправил баг немного по-другому, изменив порядок вызовов в клиентском коде.
Middleware middleware = new ThrottlingMiddleware(2); middleware.linkWith(new UserExistsMiddleware()) .linkWith(new RoleCheckMiddleware());