【实践课】规则引擎设计与实现 | 青训营笔记

74 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天

一、本堂课重点内容:

本堂课的知识要点有哪些?

  • 理解规则引擎的组成部分及应用场景
  • 理解规则擎的核心原理——编译原理的相关概念
  • 设计并实现一个规则引擎 - YoungEngine
  • 结合之前所学课程,实现一个Web版规则引擎 (自行实现)

二、详细知识点介绍:

本堂课介绍了哪些知识点?

1 认识规则引擎

1.1 规则引擎的定义

  • 规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。

image.png

image.png

1.2 组成部分

  • 数据输入
  • 规则理解
  • 规则执行

1.3 应用场景

  • 风控对抗
  • 活动策略运营
  • 数据分析与清洗

2 编译原理基本概念

2.1 词法分析

  • 词法分析就是把源代码字符串转换为词法单元(Token)的这个过程。
  • 利用有限自动机来识别token
    • 有限自动机就是一个状态机,它的状态数量是有限的。该状态机在任何一个状态,基于输入的字符,都能做一个确定的状态转换。

2.2 语法分析

  • 语法分析就是在词法分析的基础上,识别表达式的语法结构的过程。

2.3 抽象语法树

2.4 类型检查

  • 类型综合
  • 编译时检查 and 运行时检查

3 设计一个规则引擎

4 实现规则引擎

三、实践练习例子:

有什么实践举例帮助理解知识点?

四、课后个人总结:

五、引用参考:

我参考了哪些外部博客/笔记/文章? 文章中有什么地方是我参考引用了外部博客/笔记/文章的?