c# - 如何处理大量的条件
问题描述
介绍
我正在尝试构建一个系统,该系统将向前端提供应该和不应该显示哪些元素的信息。
但是我遇到的问题是我必须处理大量的条件,这些条件可能因对哪些模块可用的权利甚至哪些数据可用而有所不同。
所以我期待其他人也会遇到这个问题,但我找不到任何东西。
我试过的
我首先开始寻找可能解决这个问题的设计模式,但我找不到任何可以解决的问题。然后我去源头制作并阅读了所有可能模式的描述,但对我来说,它们似乎都不是我问题的解决方案。
之后我只是四处寻找是否有人遇到过类似的问题,但我似乎再次没有找到与我的问题的任何密切比较。
那么他们有什么建议我可以如何改进搜索还是我忽略了一些东西?
解决方案
我建议您看一下规则设计模式之类的东西
实际上,这将是一大组谓词。
完成此操作所需的步骤:
1. Change boolean logic to predicates and extentions
2. Create interfaces that provide the proper logic and transformations
对于规则模式,有一个 Evaluator 类循环遍历规则集合并执行它们。它评估结果并决定采取什么行动。在最简单的情况下它只是执行所有规则,但也可以为每个规则添加一些选择逻辑,以允许 Evaluator 类决定是否运行规则(例如 IRule 接口上的 IsMatch() 方法以上)。
推荐阅读
- c# - 处理多行的 Json 反序列化
- r - 为什么用`>`比较两个字符串不会抛出错误?
- javascript - 将英语转换为尼泊尔语打字 JS。当我按 A 时,它应该被翻译成ब等等
- excel - Excel:如何通过 VBA 搜索电子表格 2 中是否存在电子表格 1 值
- amp-html - 响应必须在“feed.entry”包含一个数组或对象。放大器列表
- php - 如何强制 Dreamweaver 正确编码 PHP 文件?
- android - 获取具有可访问性android的窗口文本
- r - 如何用行均值估算缺失值?
- kdevelop - 当没有工具视图时,有没有办法在 Kdevelop 中隐藏面板?
- python - 如何在python中出现异常后再次跳转到相同的函数