我正在实施一系列责任模式.
我有不同的策略可以组合在一个列表中,我有一个处理策略列表的处理器.每个策略都可以处理CustomInput,并可以选择是否也应该处理其余策略.
interface Policy { public boolean process(CustomInput input); } interface Processor { public void process(Listpolicies, CustomInput input) }
我打算在策略列表上实现Processor循环,并检查每个策略的布尔结果,以了解是否继续使用其余策略.
我的同事建议将下一个策略传递给每个策略,让他们调用(或不调用)下一个策略(例如FilterChain).
我的问题如下:
我在第二个解决方案中没有看到任何好处(将下一个策略传递给当前处理的策略),而不是循环遍历每个策略并检查它的结果?