中台战略与组件化开发规则引擎Drools+常见组件与中台化


中台战略与组件化开发规则引擎Drools+常见组件与中台化

Drools规则引擎做排班系统

Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允许使用声明方式表达业务逻辑。可以使用非 XML 的本地语言编写规则,从而便于学习和理解。并且,还可以将 Java 代码直接嵌入到规则文件中,这令 Drools 的学习更加吸引人。

总结一句,Drools就是使用已经写好的规则,对业务代码中提交给引擎保管的bean做筛选,筛选后的结果,就是我们想要的结果,例如排班系统,可以将人员存储到引擎中,然后按照排班规则(drl文件)对人员进行筛选归类。

Drools排班的简单示例,可以在Spring组件化构建的Drools组件中查看并下载。

首发地址:
??品茗IT: https://www.pomit.cn/p/2486115243215361

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。

下面我们来处理下面这种场景(该场景是从网上找来的,部分源码做了改动保证可运行):

场景:

  1. 员工分为两种:司机,外勤
  2. 每天分白、中、晚三个班次
  3. 每班 3 人,一个司机,两个外勤

规则:

  1. 司机可以当外勤,外勤不可以当司机
  2. 每个员工每个月至少休息 6 天
  3. 每个员工连续上班不能超过 5 天
  4. 工作分配应尽可能均匀

获取到人员排班信息。

XML和drl文件中,也可以从表里取,这里先讲下如何从表里取规则并应用。

规则引擎实体

按照前面说到的场景。

场景:

  1. 员工分为两种:司机,外勤
  2. 每天分白、中、晚三个班次
  3. 每班 3 人,一个司机,两个外勤

Spring组件化构建的Drools组件中查看并下载。

如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以
加入我们的java学习圈,点击即可加入

,共同学习,节约学习时间,减少很多在学习中遇到的难题。

下面我们来处理下面这种场景(该场景是从网上找来的,部分源码做了改动保证可运行):

场景:

  1. 员工分为两种:司机,外勤
  2. 每天分白、中、晚三个班次
  3. 每班 3 人,一个司机,两个外勤

规则:

  1. 司机可以当外勤,外勤不可以当司机
  2. 每个员工每个月至少休息 6 天
  3. 每个员工连续上班不能超过 5 天
  4. 工作分配应尽可能均匀

获取到人员排班信息。

《SpringBoot入门建站全系列(三十四)使用Drools规则引擎做排班系统》查看完整文章

品茗IT-博客专题:https://www.pomit.cn/lecture.html汇总了Spring专题、Springboot专题、SpringCloud专题、web基础配置专题。

Spring项目快速开发工具:

一键快速构建Spring项目工具

一键快速构建SpringBoot项目工具

一键快速构建SpringCloud项目工具

一站式Springboot项目生成

Mysql一键生成Mybatis注解Mapper

Spring组件化构建

SpringBoot组件化构建

SpringCloud服务化构建

喜欢这篇文章么,喜欢就加入我们一起讨论Java Web吧!
品茗IT交流群