我已经编写了/正在编写大量用于测试单个复杂实体状态的谓词。这些谓词部分是LINQ查询(我假设会转换为SQL),部分是c# lambda/方法,用于验证实体的状态。
这一切似乎让我想起了数字设计和k -map。但也许这是一个错误的转向
我怀疑我是第一个有这个问题的人。谁能告诉我在这个领域有哪些设计模式或最佳实践?主要问题是"您将如何使用这些谓词?"应该对这些谓词进行组织,以便快速检索特定域中任务的相关谓词。由于域不同,相应的索引策略也可能不同。
例如,如果谓词组与概念相关,并且需要按概念检索,则可以使用概念图和扩展激活策略来检索相关谓词。
或者简单的哈希表和树可能就是您所需要的,通过查询中的谓词(又称关系)和谓词(关系)中的属性进行索引。