如何构建营销活动平台(四):规则引擎设计
前言
前面将活动抽象成了规则检验和一系列的操作,不同的活动的规则有重叠也有不同,如何设计才能保证最好的扩展性。
规则引擎的出现就是制定一套规则检验的模型,下面来看下具体的设计。
核心UML图
组件介绍
主要分为以下三个关键模块
- 规则实体
存储规则属性
- 规则检验器
执行规则检验,检验不通过可以自定义文案,该文案可以展示给用户看
- 执行引擎
串联业务请求和规则检验
使用场景
活动参与条件判断
活动规则这里采用的是单规则检验失败跳出方式,只有一个规则检验不通过,就结束了。红包使用规则判断
红包等一系列优惠载体对于使用也会有一系列的规则检验,同活动不同,所有不可用的原因都需要展示出来。
通过这个规则引擎其实也是支持的
接入规范
- 规则在DB层的存储尽量按照相同的结构,可以采用列扩展的方式,自己定义一个规则解析器读取对应的值,组装成规则集合
- 跟前端约定格式之后,例如采用[{“code”:“StartTime”,“value”:“123445”}]这种JSON串格式,就可以很方便支持规则的扩展,活动管理存储规则相关的代码服务端基本上就保持不变
- 新增规则增加对应RULE实体和Checker的逻辑即可
如何构建营销活动平台(四):规则引擎设计相关推荐
- 如何构建营销活动平台(一):前言概述
背景 笔者接触营销活动已经接近半年时间,围绕C端用户的邀新,留存,促活也上线了一些营销活动,为了实现组件化,在编程过程中也一直在思考如何搭建一个营销平台, 从而实现运营活动的配置化和扩展性,忙中偷闲, ...
- 如何构建营销活动平台(二):业务功能设计
营销活动主流程 功能描述 模块介绍 活动管理 新建活动:a.常用活动模板 b.现有活动上修改 c.新活动 活动管理:a.发布活动 b.暂停活动 c.终止活动 d.继续活动 渠道投放 活动形式管理 数据 ...
- 一物一码(6): 一物一码之【开展一物一码营销活动基本流程2,设计开发部署,生产包装,活动上线】
二维码应用:一物一码[合集] (1) 二维码基础,以及js encode/decode QRCode纯前端实现 (2) 一物一码之[红包那点事] (3) 一物一码之[精准营销] (4) 一物一码之[得 ...
- 规则引擎 设计 git_引擎盖下的Git
规则引擎 设计 git by Wassim Chegham 由Wassim Chegham 引擎盖下的Git (Git under the hood) Let's explore some commo ...
- 从案例角度解析建模平台动态规则引擎
源宝导读:明源云ERP建模平台提供了强大的页面联动规则引擎,原来需要编写代码完成的联动控制逻辑,现在只需要点点鼠标,通过配置完成.本文从实际案例的角度出发,介绍原始的代码逻辑如何转化为引擎规则的过程. ...
- kubernetes系列之《构建企业级CICD平台(四)》
前言:本文是构建企业级CICD的最后一篇文章,以实战为导向,讲解Jenkins 通过Pipeline流水线如何实现在kubernetes系统中做到持续集成持续部署的,请关注! 七.Jenkins在K8 ...
- 基于Event Sourcing和DSL的积分规则引擎设计实现案例
架构设计模式(Architecture Patterns),是"从特殊到普遍"的.基于各种实际问题的解决方案而总结归纳出来的架构设计最佳实践,是一种对典型的.局部的架构逻辑的高度抽 ...
- 规则引擎 java 设计_规则引擎设计
最近用到了规则引擎 ,简单做一个总结. 规则,说白了,就是,现状(fact)怎么样,如果(condition)怎么样,那么(action)怎么样. 规则引擎使用了rete算法,我这边使用的是drool ...
- .Net Core 环境下构建强大且易用的规则引擎
1. 引言 1.1 为什么需要规则引擎 在业务的早期时代,也许使用硬编码或者逻辑判断就可以满足要求.但随着业务的发展,越来越多的问题会暴露出来: 逻辑复杂度带来的编码挑战,需求变更时改变逻辑可能会引起 ...
最新文章
- Xmas is coming....
- Linux文本搜索工具grep
- C++ 引用 Demo - Win32 版
- Vue 之qs 使用详解
- 虚幻4 控制台_虚幻引擎打造足球手游!实况足球新引擎测试今日开启
- 数据全景洞察概念简介
- MACAPP中引入ffmpeg库完成具体功能
- Android开发笔记(一百四十)Word文件的读取与显示
- 获取和设置消息队列的属性msgctl,删除消息队列
- python匹配部分字符串_python – 即使只是部分匹配字符串,如何匹配字符串?
- arg,argmin和argmax理解
- ffmpeg + rtp介绍
- mac 开启android 模拟器,折腾mac的经验积累 2:mac上如何玩安卓模拟器
- matlab2016b安装
- Python的猜平均数一半游戏
- (毕业设计资料)基于单片机自行车码表系统设计
- 编程大佬行为准则:一杯茶一包烟,一行代码写一天
- Kubernetes--k8s--进阶--全面了解HPA--部署HPA实现高可用和成本控制
- 配置python命令tab键自动补全
- PID算法控制小车转向