小编Bor*_*ris的帖子

责任链:循环还是下一个?

我正在实施一系列责任模式.

我有不同的策略可以组合在一个列表中,我有一个处理策略列表的处理器.每个策略都可以处理CustomInput,并可以选择是否也应该处理其余策略.

interface Policy {    
  public boolean process(CustomInput input);    
}

interface Processor {    
  public void process(List<Policy> policies, CustomInput input)    
}
Run Code Online (Sandbox Code Playgroud)

我打算在策略列表上实现Processor循环,并检查每个策略的布尔结果,以了解是否继续使用其余策略.

我的同事建议将下一个策略传递给每个策略,让他们调用(或不调用)下一个策略(例如FilterChain).

我的问题如下:

我在第二个解决方案中没有看到任何好处(将下一个策略传递给当前处理的策略),而不是循环遍历每个策略并检查它的结果?

java design-patterns chain-of-responsibility

11
推荐指数
1
解决办法
1087
查看次数