Java 什么设计模式适合处理许多条件分支

Java 什么设计模式适合处理许多条件分支,java,algorithm,design-patterns,cyclomatic-complexity,Java,Algorithm,Design Patterns,Cyclomatic Complexity,我在一个表中有一堆行,其中存储了一些变量和相关值。我必须根据不同行中变量的值启动一个任务。多行中的多个值可以通过和/或条件重叠。在这种情况下,什么样的设计模式有助于降低圈复杂度 比如说,桌子 现在在运行时需要测试一些条件。比如说, 如果v1列有任何值“a”或“b”,并且第3行和第4行包含任何“g”,或者第5行的所有行都包含值“f”,等等 这种需求在一定的固定边界下是动态的,我必须准备一种方法,它采用输入表和条件。该方法最终返回true/false。如果我天真地实现,我需要在完全有界的可能条件下使

我在一个表中有一堆行,其中存储了一些变量和相关值。我必须根据不同行中变量的值启动一个任务。多行中的多个值可以通过和/或条件重叠。在这种情况下,什么样的设计模式有助于降低圈复杂度

比如说,桌子

现在在运行时需要测试一些条件。比如说,

如果v1列有任何值“a”或“b”,并且第3行和第4行包含任何“g”,或者第5行的所有行都包含值“f”,等等


这种需求在一定的固定边界下是动态的,我必须准备一种方法,它采用输入表和条件。该方法最终返回true/false。如果我天真地实现,我需要在完全有界的可能条件下使用许多嵌套的If/else,这使得我的代码非常复杂。什么是处理它的好模式。

对于真实场景,我认为您应该研究规则引擎,请参阅以获取示例列表

这里的要点是:用手工编写的代码表示规则是不可伸缩的!没有好的模式可以阻止这样的代码库随着时间的推移变成意大利面条式的代码。在现实世界中,这样的规则经常更改,并且使代码保持最新通常会导致管道胶带出现另一种情况

因此,我们有规则引擎,允许您以比手工编写的if-else块级联更易于维护的方式表达此类复杂决策的元素


问题是:如果你对自己的工作质量很认真,你很可能会自己实现自己的小规则引擎。那么,为什么不从书架上挑一个呢,或者至少仔细研究一些,并把它们作为如何更好地解决问题的灵感呢

这是java问题还是HTML问题?代码在哪里?@GhostCat只需单击“运行代码段”即可显示该表。文本制作的表格可能会给读者带来更多不便。@AJNeufeld该表格只是Java/Android项目下的一个SQLite快照。运行代码片段按钮查看一个简单的表。实际上,我想要一个好的设计模式,以避免许多嵌套的if/elseI用image替换了表。我想现在应该更方便了。谢谢