我正在开发一个n层应用程序,需要在表示层上使用规则引擎。
我需要将显示规则从数据库加载到BLL层,并传递给客户端。例如,当propertyX为true时,项目A以红色轮廓显示;当propertyY为true时,以白色轮廓显示,并且当两者都不为true且您没有管理员角色时,应该隐藏它。
BLL最终将成为规则驱动的,但我们将首先从现有的客户端/服务器应用程序中迁移硬编码逻辑到那里。
看起来WF允许我创建和序列化工作流程,我可以在BLL或表示层上托管。
我预计会有大量规则,因为不同的用户角色会为50多种实体类型的表示层获取略微不同的规则集。
这是个好主意吗?
是否更简单地定义DSL并自己管理?
我需要将显示规则从数据库加载到BLL层,并传递给客户端。例如,当propertyX为true时,项目A以红色轮廓显示;当propertyY为true时,以白色轮廓显示,并且当两者都不为true且您没有管理员角色时,应该隐藏它。
BLL最终将成为规则驱动的,但我们将首先从现有的客户端/服务器应用程序中迁移硬编码逻辑到那里。
看起来WF允许我创建和序列化工作流程,我可以在BLL或表示层上托管。
我预计会有大量规则,因为不同的用户角色会为50多种实体类型的表示层获取略微不同的规则集。
这是个好主意吗?
是否更简单地定义DSL并自己管理?