什么模式最适合开发规则/决策引擎[关闭]

2023-12-23

我正在研究决策引擎/规则评估引擎。例如:

输入:客户以及客户犯下的所有罪行

输出:罪行的后果

一个示例案例是:

输入:顾客(Jhonny Chimpo,999-00-1111),进攻(打破窗户,扇老板耳光,踢团队领导的腹股沟)

输出:获得解雇通知书

因此,我想编写的代码段根据每种攻击和组合攻击的规则来评估不同的攻击。当前的代码只是 if 和 else 语句的迷宫。我确信此类业务问题很常见。通常使用什么设计/企业模式来解决这样的问题?

是规范模式吗?我希望代码能够开放扩展、干净且灵活。


基本上业务规则看起来像

forall rules:
  if <condition> then doAction();

是否可以使用分数按严重程度对所有罪行进行分类,也许对经常“作恶”的人有额外的奖励,某些罪行可能会被限制时间以及任何需要的东西。

那么算法的粗略草案可能是:

  • 客户所有分数的总和(加权)
  • 与最大值比较

使用数据结构而不是许多(可能是深层嵌套的)if..then..else 东西,这将是直接的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么模式最适合开发规则/决策引擎[关闭] 的相关文章

  • C# 中 DLL 和命名空间的关系

    这里有一个高级问题 今天我花了很多时间自学基本的高级概念 例如 API 静态和动态库 DLL 以及 C 中的编组 获得所有这些知识让我想到了一个看起来非常基本的问题 并且可能表明我对这些概念的理解存在漏洞 我知道的 DLL 可能包含类 这些
  • 调试内存不足异常

    在修复我制作的小型 ASP NET C Web 应用程序的错误时 我遇到了 OutOfMemoryException 没有关于在哪里查看的提示 因为这是一个编译时错误 如何诊断此异常 我假设这正是内存分析发挥作用的地方 有小费吗 Thank
  • 获取从属性构造函数内部应用到哪个属性的成员?

    我有一个自定义属性 在自定义属性的构造函数内 我想将属性的属性值设置为属性所应用到的属性的类型 是否有某种方式可以访问该属性所应用到的成员从我的属性类内部 可以从 NET 4 5 using CallerMemberName Somethi
  • 在 C# 中将位从 ulong 复制到 long

    所以看来 NET 性能计数器类型 http msdn microsoft com en us library system diagnostics performancecounter aspx有一个恼人的问题 它暴露了long对于计数器
  • .NET UI 元素线程限制的原因

    我们知道 除了实例化元素的线程之外 不可能从任何线程执行操作任何 UI 元素属性的代码 我的问题是 为什么 我记得当我们使用 COM 用户界面元素时 在 COM Visual Basic 6 0 时代 所有 UI 元素都是使用 COM 类和
  • 根据 VS2008 中的构建配置排除整个文件

    我的项目有三种不同的配置 这三种配置不需要将所有文件构建到应用程序中 实际上 我更希望能够从构建中排除这些文件 这将使我的应用程序更加轻量级 我正在寻找的是 if MYCONFIG or if DEBUG声明但用于文件 我已经读到这可以通过
  • 是否可以修改 PDF 表单字段名称?

    情况是这样的 我有一个 PDF 其中包含自动生成的 pdf 表单字段名称 问题是这些名称不太用户友好 它们看起来像 topmostSubform 0 Page1 0 Website Address 0 我希望能够更改它们 使它们类似于 We
  • 添加 LINQ 的 LongCount 扩展方法是否有实际原因?

    LINQ 有 2 种计算可枚举数的方法 Count and LongCount 实际上 这两者之间的唯一区别是第一个返回一个int 而第二个返回一个long 我不清楚为什么添加第二种方法 它的唯一用例似乎是处理超过 2B 元素的枚举 对我来
  • 我应该如何缓冲绘制的矩形以提高性能(C#/.NET/WinForms/GDI+)

    我在做什么 我正在开发一个 C NET 4 7 2 WinForms 应用程序 它使用以下命令在表单上绘制大量填充矩形Graphics FillRectangle https learn microsoft com en us dotnet
  • 使用Azure Service Fabric的默认客户端时如何向请求添加消息头?

    我想知道是否可以将自定义消息头注入到传出请求中以携带附加信息 而无需反序列化有效负载来完成身份验证 验证或请求关联等功能 例如通过消息检查器提供的 wcf Update 使用 SDK v2 您现在可以 相对 轻松地修改 Reliable S
  • C# 中的空“if”语句是否会导致错误或警告?

    让我从一个现实生活中的例子开始 顾客 Alex 刚刚注意到 RemovalProcessor 第 138 行有一些奇怪的东西 if Session Handler ExecutePrefetchTasks null Session Exec
  • 如何在没有互联网连接的情况下安装 NuGet 包?

    目前我正在一台不允许访问互联网的虚拟电脑上进行开发 我设法获取 NuGet Tools vsix 将 NuGet 添加到 Visual Studio 2010 但似乎无法找出如何离线部署 NuGet 包 例如 我下载了EntityFrame
  • 如何从 ReadOnlySpan 复制到 Array

    我的班级有一个财产public byte Location get new byte 30 我希望能够从 a 中填充它ReadOnlySpan
  • 实体框架代码首先保存后不延迟加载

    我的数据库中有一个查找表和一个数据表 我将使用性别和人物作为例子 假设性别表如下所示 Id Code 1 Male 2 Female 人员表如下所示 Id Name GenderId 1 Bob 1 2 Jane 2 我首先在 EF 代码中
  • 如何在 sql server 中加密数据并在 .net 应用程序中解密

    我想加密 sql server 中的一些密码并让 c 应用程序解密它们 显然 我可以创建一个 SP 来解密所需的密码并将其传递给 c 应用程序 但这意味着通过网络发送明文密码 因此 我希望能够在 sql server 中加密我的密码 使用密
  • WPF Datagrid 循环/选择具有特定属性的单元格

    全新的 WPF 对 WinForms 非常熟悉 这可能会让过渡变得更加困难 我正在尝试将旧 WinForms 项目中的一些功能移植到 WPF 中作为学习体验 目标是在 DataGrid 中查找与 TextBox 中的字符串匹配的单元格值 我
  • Quartz 与“反应式扩展”

    我正在寻找 C 的调度库 很长一段时间以来 我认为 唯一 的选择是 Quartz NET 它非常强大并且工作得很好 但是当我发现 Reactive Extensions RX http msdn microsoft com en us da
  • 如何检查 NTAccount 对象代表组还是用户?

    使用返回的访问规则时 GetAccessRules True True GetType System Security Principal NTAccount 如何判断每个规则中引用的 NTAccount 对象是用户帐户还是组 Update
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 恢复上传文件控制

    我确实阅读了以下帖子 C 暂停 恢复上传 https stackoverflow com questions 1048330 pause resume upload in c 使用 HTTP 恢复上传 https stackoverflow

随机推荐

  • PHP - 相互比较多维子数组并根据相似度阈值进行合并

    简介 此问题已于 2018 年 5 月 27 日更新 我有 1PHP多维数组 包含6个子数组 每个子数组包含20个子子数组 每个子数组又包含2个子子数组 一个是字符串 header 另一个是未指定数量的关键字 keywords 我希望将 1
  • Java工厂方法缓存

    我必须开发一些类似生活游戏的东西 为此 我有一个名为CellPosition具有x and y字段 为了有效地使用内存 我想使用某种工厂方法 CellPosition at int x int y 这将返回一个实例CellPosition
  • 无法加载插件 caching_sha2_password:/mariadb19/plugin/caching_sha2_password.so:无法打开共享对象文件

    我正在尝试 dockerise 我的 Django 应用程序 docker compose yml version 3 8 services db image mysql 8 command default authentication p
  • WPF如何让UserControl继承Button?

    我创建了一个由几个省略号和标签组成的用户控件 我把它很好地添加到另一种形式中 事情看起来非常时髦 然后我开始添加一些事件处理程序 发现我制作的控件没有公开 Click 事件 哎呀 很容易修复 对吧 只需回到我制作的 UserControl
  • Eclipse:自动终止(java)

    当我在Eclipse中用java编写代码并第二次运行它时 第一个进程仍在运行 例如 当我编写一个带有一些打印的无限循环时 运行一次然后再次运行 它会从第一次和第二次运行中打印 另外 Eclipse 变得越来越慢 有没有办法在重新运行时自动终
  • 如何在一个 Github Actions Docker 中运行多个命令

    在一个命令中运行多个命令的正确方法是什么action 例如 我想运行一个 python 脚本action 在运行此脚本之前 我需要安装requirements txt 我可以想到几个选择 创建一个Dockerfile用命令RUN pip i
  • 我可以将函数名称存储在最终的哈希图中以供执行吗?

    我正在构建一个管理控制器 其工作方式类似于 Flex 4 5 中的终端模拟器 服务器端是Tomcat服务器上的Red5 使用Java编程语言 当用户在其文本输入中输入命令时 该命令会发送到 red5 在 red5 中 我检查该命令是否存在
  • 如何替换 WiX 安装过程中使用的计算机 + 磁盘图标?

    是否可以使用 WiX 3 5 替换 msiexec 在安装过程中显示的古老计算机 磁盘映像 如果是这样怎么办 我目前没有使用 WixUI 我愿意使用它 只要我能获得简单的 零点击的安装体验 我已经尝试了此页面上建议的所有 WixVariab
  • Screeps 分数/模块已重置

    昨天我在第一张地图上的分数是1800 现在没有更多分数了 这个分数怎么会被删除呢 此外 我的脚本 模块也被删除了 幸运的是我将它们保存在本地 是否依赖cookies什么的 发生了什么 在模拟室中 您的模块和分数存储在浏览器中localSto
  • 作为图形执行的一部分,动态捕获 TensorFlow 中的异常

    例如 这QueueBase dequeue函数可以提高OutOfRangeError我将从Python中收到的异常Session run称呼 有什么方法可以捕获图表内的异常 类似于tf cond 例如 就像是 result tf on ex
  • 我无法使 Highcharts phantomJs 导出服务器工作

    非常感谢 我想设置 phantomjs Highcharts 导出服务器 它应该接受 json 选项作为输入和输出 jpeg 图像文件 这是我所做的 我从此存储库下载服务器端 js 代码 https github com highslide
  • 使用 jQuery 从 HTML 中删除数据属性

    似乎无法让这个工作 我有一个隐藏某些链接的页面 加载 DOM 后 我使用 jQuery 来切换其中一些元素 这是通过使用数据属性来驱动的 如下所示 div class d btn div class hidden button 然后 我有代
  • 如何计算特定国家的利润中位数

    大家好 我是 R 新手 我正在尝试计算数据框中特定国家 地区的利润中位数 我尝试了以下方法 但它对我不起作用 data Forbes2000 package HSAUR median Forbes2000 sales country Uni
  • switch case 中的枚举引用

    enum Color RED GREEN BLUE class SwitchEnum public static void main String args Color c Color GREEN switch c case RED Sys
  • 该服务器的证书无效

    我知道如果我使用以下 nsurlconnectiondelegate 它将被修复 连接 willSendRequestForAuthenticationChallenge 连接 canAuthenticateAgainstProtectio
  • Java I/O 类和性能

    阅读 Java 思维 第四版 我对 I O 操作性能有一些疑问 我读到最好将 InputStream 对象 包装 在 BufferedInputStream 中 但在我看来 我看不出有任何区别 即文件操作不是已经缓冲了吗 文件缓冲写入有什么
  • 无法在 React 组件类中使用 Arrow 函数 [重复]

    这个问题在这里已经有答案了 我已经开始了一个项目 我在前端使用 React JS 在后端使用 Node js 我使用 webpack 来打包 JS 文件 我使用了 babel 以及其他必要的东西 当我在 React 类中使用箭头函数时 它会
  • 如何将 SKSpriteNode 以 PNG 图像保存到相机胶卷?

    我正在尝试将 SKSpriteNode 转换为具有相机胶卷透明度的 PNG 图像 这会保存图像 但不具有透明度 let image UIImage cgImage spriteNode texture cgImage UIImageWrit
  • php从html字符串中提取第一个图像,删除所有图像标签,并截断html字符串

    我在数据库中保存了tinymce编辑器的html内容 所以我想在php页面上显示这个html内容 但以漂亮的方式 我想首先检查 html 字符串中是否存在图像 如果存在则首先在 php 页面中显示它 然后我想在图像右侧显示一些文本 截断前
  • 什么模式最适合开发规则/决策引擎[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi