gpt4 book ai didi

java - 创建规则引擎的最佳设计模式

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:23:22 28 4
gpt4 key购买 nike

假设我必须设计一个规则引擎,其中取决于静态配置规则,责任链在运行时发生变化。实现这个问题的最佳设计模式是什么?

例如,根据某些配置,流中的一组事件可以 (1) 过滤,(2) 划分为子集 (3) 修改

对于每个流,客户可以选择全部 3 个或三个中的一些或三个都不选。

因此,我的组装管道应该在运行时根据每个流的配置进行配置。

实现这一目标的最佳设计模式是什么?

最佳答案

我不确定我是否理解您的用例,但有些开源项目似乎完全可以满足您的需求。

首先,你有Apache Camel ,它允许您配置路由(静态和/或动态)。通过这种方式,您可以根据配置的路由通过管道的每个组件路由事件流。

作为 Camel 的替代或补充,Drools FusionEsper是两个进行复杂事件处理(即事件过滤、关联、隔离等)的开源项目。它们都支持动态添加/删除规则/查询。因此,您可以不更改路由,例如,通过一条路由进入 Drools/Esper session ,而只是根据配置添加/删除规则/查询,以便执行您需要的操作。

在我看来,您不需要创建“规则引擎”。您可以只使用那里的东西。

关于java - 创建规则引擎的最佳设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9309141/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com