一連の責任パターンを実装しています。
リストに組み合わせることができるさまざまなポリシーがあり、ポリシーのリストを処理するプロセッサがあります。各ポリシーは CustomInput を処理でき、残りのポリシーも処理するかどうかを選択できます。
interface Policy {
public boolean process(CustomInput input);
}
interface Processor {
public void process(List<Policy> policies, CustomInput input)
}
ポリシーのリストをループするプロセッサーを実装し、それぞれのブール値の結果をチェックして、残りのポリシーを続行するかどうかを判断します。
私の同僚は、次のポリシーを各ポリシーに渡し、次のポリシーを呼び出す (または呼び出さない) ようにすることを提案しました (たとえば、FilterChain が行うように)。
私の質問は次のとおりです。
各ポリシーをループしてその結果を確認するよりも、2 番目のソリューション (現在処理中のポリシーに次のポリシーを渡す) に見られない利点はありますか?