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; }
Відповідь
Відповідь
Виправлено
Добрый день, Денис.
Спасибо за баг репорт. Я исправил баг немного по-другому, изменив порядок вызовов в клиентском коде.
Middleware middleware = new ThrottlingMiddleware(2); middleware.linkWith(new UserExistsMiddleware()) .linkWith(new RoleCheckMiddleware());
Служба підтримки клієнтів працює на UserEcho
Добрый день, Денис.
Спасибо за баг репорт. Я исправил баг немного по-другому, изменив порядок вызовов в клиентском коде.