当前位置: 首页 > news >正文

smart原则简单案例,java规则引擎使用场景

以一个案例说明 案例:首先引入QLExpress项目结构一览方法调用,结果展示总结

QLExpress官方git地址: https://github.com/alibaba/QLExpress 案例:

案例:没有房产,租房住的人每个月可以领取1000元的住房补贴。

两个条件:1 没有房产,2 租房住。

首先引入QLExpress com.alibaba QLExpress 3.2.0 项目结构一览
PersonInfo类

PersonServ类
RunnerUtil类

MacroEnum类
此时项目结构已经搭建完成。

方法调用,结果展示
在RunnerUtil中新建一个方法,用于判断用户是否具有领取租房补贴的权利
在main方法中调用测试

输出结果(设置了isTrace为true,所以会跟踪步骤,易于调试)
结果解析
执行流程

首先在expressRunner用中文替换了一些基本操作符。然后用中文绑定了java类中的方法,比如"是否有房产"绑定了PersonServ中的hasHouse方法。定义了一些macro宏定义的枚举类。列如"有房产",调用了"是否有房产"方法,传入了person和1。调用,定义一个personInfo实体类,传入判断条件为"无房产 并且 租房住"。这时候ql会调用"无房产"宏定义,"无房产"宏定义调用了"是否有房产"方法,在"是否有房产"方法中,取出personInfo中的hasHouse属性,为0,与传入的0做比较,相等,则返回true,表示此用户无房产。之后调用"租房住"宏定义,"租房住"宏定义调用了"是否租房住"方法,在"是否租房住"方法中,取出personInfo中的rentHouse属性,为0,与传入的1做比较,不相等,则返回false,表示用户并不是租房住的。因为是 并且 操作符,true加false 为false。所有最终返回结果为false。false表示用户没有领取租房补贴的权利。自此,执行完毕。 总结
有点烦。

相关文章:

  • 公司注册网站及流程/培训机构需要哪些证件
  • 门户网站建设探究/网页设计网站
  • 做网站公司平台/上海互联网管理系统推广公司
  • 博物馆网站建设/体彩足球竞彩比赛结果韩国比分
  • wordpress 漏洞 修复/石家庄网站建设就找
  • 网站平台有哪些类型/知名网站
  • 高阶数据结构 —— 红黑树(较平衡搜索树)
  • 矩阵的基本性质【转置/求逆/伴随等】
  • 【PyTorch深度学习项目实战100例】—— 基于Transformer实现电影评论星级分类任务 | 第42例
  • mysql的多种安装方式(Linux+Windows)
  • 图注意力网络GATs - 《Graph Attention Networks》论文详解
  • Java基础和面试题-语言特点,保留字,数据类型
  • 【小嘟陪你刷题10】二叉树的基础面试题
  • 【快速排序】
  • 大闸蟹提货系统asp版源码提供
  • 【简单dp】舔狗舔到最后一无所有
  • QML 应用程序
  • cicd的部署--gitlab