欧洲一二三区丨丰满少妇高潮惨叫视频丨色视频网丨91av影院丨动漫av纯肉无码免费播放丨国产黄页丨成人一级毛片丨国产成人无码aⅴ片在线观看导航丨欧美色图11p丨日韩人妻熟女中文字幕a美景之屋丨香蕉视频在线观看网址丨久久免费资源丨欧美日韩亚洲中文字幕二区丨精品无人区一码二码三码四码丨精品久久久久久无码中文字幕一区丨午夜天堂av天堂久久久丨沈樵精品国产成av片丨麻豆国产视频丨www日本com丨国产一卡二卡在线播放

行業(yè)動(dòng)態(tài)

.Net Core 環(huán)境下構(gòu)建強(qiáng)大且易用的規(guī)則引擎

2018-06-11 08:43:00 小沐管家 0

1. 引言

1.1 為什么需要規(guī)則引擎

在業(yè)務(wù)的早期時(shí)代,也許使用硬編碼或者邏輯判斷就可以滿足要求。但隨著業(yè)務(wù)的發(fā)展,越來(lái)越多的問(wèn)題會(huì)暴露出來(lái):

  • 邏輯復(fù)雜度帶來(lái)的編碼挑戰(zhàn),需求變更時(shí)改變邏輯可能會(huì)引起災(zāi)難

  • 重復(fù)性的需求必須可重用,否則必須重復(fù)性編碼

  • 運(yùn)行期間無(wú)法即時(shí)修改規(guī)則,但重新部署可能會(huì)帶來(lái)其他問(wèn)題

  • 上線前的測(cè)試變得繁瑣且不可控,必須花大量的人力和時(shí)間去測(cè)試

這些困境在『 小明歷險(xiǎn)記:規(guī)則引擎 drools 教程一』 一文中可以體會(huì)一番,一開(kāi)始只是簡(jiǎn)單的根據(jù)購(gòu)物金額來(lái)發(fā)放積分,運(yùn)行期間又要更改為更多的規(guī)則層次,如果不及時(shí)引入對(duì)應(yīng)的規(guī)范化處理機(jī)制,開(kāi)發(fā)人員將慢慢墜入無(wú)止盡的業(yè)務(wù)深淵。對(duì)此,聰明的做法是在系統(tǒng)中引入規(guī)則引擎,對(duì)業(yè)務(wù)操作員要提供盡量簡(jiǎn)單的操作頁(yè)面來(lái)配置規(guī)則,規(guī)則引擎和配置盡量不要耦合到一塊。

1.2 .Net Core 環(huán)境下的選擇 -- Nrules

目前最流行的規(guī)則引擎應(yīng)該是Drools, 用 Java 語(yǔ)言編寫(xiě)的開(kāi)放源碼規(guī)則引擎,使用 Rete 算法對(duì)所編寫(xiě)的規(guī)則求值,其操作流程如下:

沐歌環(huán)保

對(duì)于 .Net 應(yīng)用來(lái)說(shuō),可以通過(guò) Kie 組件提供的 Rest 接口調(diào)用規(guī)則引擎運(yùn)算。然而其過(guò)于龐大,僅僅只是需要規(guī)則引擎計(jì)算核心的部分。對(duì)此,查找了 .Net 中開(kāi)源的規(guī)則引擎,發(fā)現(xiàn)只有同樣實(shí)現(xiàn) Rete 算法的 Nrules 滿足要求(支持 .Net Core,運(yùn)行時(shí)加載規(guī)則引擎)。

注:本文參考借鑒了美團(tuán)技術(shù)團(tuán)隊(duì) 從 0 到 1:構(gòu)建強(qiáng)大且易用的規(guī)則引擎 一文的設(shè)計(jì)思路,對(duì) Drools 從入門到放棄。

2. Nrules 實(shí)戰(zhàn) -- 電商促銷活動(dòng)規(guī)則引擎設(shè)計(jì)

2.1 了解 Nrules

NRules 是基于 Rete 匹配算法的.NET 生產(chǎn)規(guī)則引擎,基于.NET Standard ,支持 4.5+ 的應(yīng)用,提供 流式聲明規(guī)則、運(yùn)行時(shí)構(gòu)建規(guī)則、專門的規(guī)則語(yǔ)言(開(kāi)發(fā)中,不推薦使用到生產(chǎn),基于.Net 4.5 而不是 .NETStandard )。
其計(jì)算機(jī)制也與其他規(guī)則引擎大同小異:
沐歌環(huán)保

2.2 設(shè)計(jì)規(guī)則配置

前文提到 對(duì)業(yè)務(wù)操作員要提供盡量簡(jiǎn)單的操作頁(yè)面來(lái)配置規(guī)則 ,所以我們定義促銷活動(dòng)的規(guī)則配置就要盡量簡(jiǎn)單。

沐歌環(huán)保

在設(shè)計(jì)模型時(shí),我們必須先參考現(xiàn)實(shí)生活中遇到的電商促銷活動(dòng),大致可以想到有這么幾種活動(dòng)類型:滿減促銷、單品促銷、套裝促銷、贈(zèng)品促銷、滿贈(zèng)促銷、多買優(yōu)惠促銷、定金促銷等。
在這里,我選擇對(duì)多買優(yōu)惠促銷做分析,多買促銷優(yōu)惠即所謂的階梯打折,如買一件9折,買兩件8折,其模型大致如下:

沐歌環(huán)保

這里為了簡(jiǎn)化設(shè)計(jì),設(shè)計(jì)的模型并不會(huì)去約束平臺(tái)、活動(dòng)范圍、會(huì)員等級(jí)等,僅僅約束了使用的產(chǎn)品 id 范圍。為了匹配現(xiàn)實(shí)中可能出現(xiàn)的組合優(yōu)惠(類似滿減活動(dòng)后還可以使用優(yōu)惠券等)現(xiàn)象和相反的獨(dú)斥現(xiàn)象(如該商品參與xx活動(dòng)后不支持X券),設(shè)置了一個(gè)字段來(lái)判斷是否可以組合優(yōu)惠,也可以理解為所有活動(dòng)都為組合優(yōu)惠,只是有些組合優(yōu)惠只有一個(gè)促銷活動(dòng)。

注:想了解更多關(guān)于電商促銷系統(tǒng)設(shè)計(jì)可參考腦圖

2.3 規(guī)則配置轉(zhuǎn)換

為了實(shí)現(xiàn) 規(guī)則引擎和配置盡量不要耦合到一塊,必須有中間層對(duì)規(guī)則配置進(jìn)行轉(zhuǎn)換為 Nrules 能夠接受的規(guī)則描述。聯(lián)系前文的計(jì)算機(jī)制,我們可以得到這樣一個(gè)描述模型:

沐歌環(huán)保

由于 Nrules 支持流式聲明,所以約束條件和產(chǎn)生的結(jié)果都可以用 LambdaExpression 表達(dá)式實(shí)現(xiàn)。現(xiàn)在我們需要把階梯打折的配置轉(zhuǎn)換成規(guī)則描述,那我們需要先分析一下。假設(shè)滿一件9折,滿兩件8折,滿三件7折,那我們可以將其分解為:

  • 大于等于三件打 7 折

  • 大于等于兩件且小于三件打 8 折

  • 大于等于一件且小于兩件 9 折

基于此分析,我們可以看出,只有第一個(gè)最多的數(shù)量規(guī)則是不一樣的,其他規(guī)則都是比前一個(gè)規(guī)則的數(shù)量小且大于等于當(dāng)前規(guī)則的數(shù)量,那么我們可以這樣轉(zhuǎn)換我們的規(guī)則配置:

沐歌環(huán)保

2.4 生成規(guī)則集合

在 Nrules 的 wiki 中,為了實(shí)現(xiàn)運(yùn)行時(shí)加載規(guī)則引擎,我們需要引入實(shí)現(xiàn) IRuleRepository ,所以我們需要將描述模型轉(zhuǎn)換成 Nrules 中的 RuleSet:

沐歌環(huán)保

2.5 執(zhí)行規(guī)則引擎

做了轉(zhuǎn)換處理僅僅是第一步,我們還必須創(chuàng)建一個(gè)規(guī)則引擎的處理會(huì)話,并把相關(guān)的事實(shí)對(duì)象(fact)傳遞到會(huì)話,執(zhí)行觸發(fā)的代碼,相關(guān)對(duì)象發(fā)生了變化,其簡(jiǎn)單代碼如下:

沐歌環(huán)保

2.6 應(yīng)用場(chǎng)景示例

我們假設(shè)有這么一個(gè)應(yīng)用入口:傳入一個(gè)購(gòu)物車(這里等價(jià)于訂單)id,獲取其可以參加的促銷活動(dòng),返回對(duì)應(yīng)活動(dòng)優(yōu)惠后的結(jié)果,并按總價(jià)的最低依次升序,那么可以這么寫(xiě):

沐歌環(huán)保

假設(shè)這么一個(gè)購(gòu)物車id,買一件時(shí)最優(yōu)惠是參加 A 活動(dòng),買兩件時(shí)最優(yōu)惠是參加 B 和 C 活動(dòng),那么其效果圖可能如下:

沐歌環(huán)保

3. 結(jié)語(yǔ)

本文只是對(duì)規(guī)則引擎及 Nrules 的簡(jiǎn)單介紹及應(yīng)用,過(guò)程中隱藏了很多細(xì)節(jié)。在體會(huì)到規(guī)則引擎的強(qiáng)大的同時(shí),還必須指出其局限性,規(guī)則引擎同樣不是銀彈,必須結(jié)合實(shí)際出發(fā)。

擴(kuò)展閱讀:Martin Fowler:應(yīng)該使用規(guī)則引擎嗎?

原文地址: https://www.cnblogs.com/chenug/p/9160397.html


? 午夜日韩精品 | 亚洲经典千人经典日产 | 亚洲无av码在线中文字幕 | 日本国产一区二区 | 中文字幕少妇高潮喷潮 | 一本色综合亚洲精品蜜桃冫 | 欧美黑人猛猛猛 | 美女视频黄8视频大全 | 久久精品中文字幕无码 | 在线播放成人 | 国产爱豆剧传媒在线观看 | 欧美裸体xxxx极品少妇 | 日韩在线一区二区三区四区 | 日韩欧美精品久久 | 2019中文字幕在线观看 | 久久免费一区 | 国产精品熟女高潮视频 | 中文字幕精品久久久久人妻 | a级高清免费毛片av播放 | 欧美性受xxxxzooz乱毛 | 亚洲人成色77777 | 欧美一区久久久 | 国产精品a一区二区三区网址 | 国产日产精品一区二区三区四区的观看方式 | 国产女主播视频一区二区 | 国产999在线| 7777久久久国产精品消防器材 | 欧美做爰啪啪xxxⅹ性 | 无码人妻丰满熟妇精品区 | 国产嫩草影院久久久久 | 日韩人妻无码一区二区三区久久 | 成 人 网 站国产免费观看 | 无码丰满熟妇juliaann与黑人 | 中品极品少妇xxx | 黄色在线免费网站 | 三区在线视频 | 亚洲天堂热 | 日韩精品视频在线看 | 黄色片视频免费看 | 一道本一区 | 日韩视频在线播放 | 黄色片一区 | www我爱av| 国产一级二级三级在线 | 亚洲国产一区二区精品 | 亚洲一区二区三区在线播放 | 夜晚成人18禁区导航网站 | 成人嫩草研究院久久久精品 | 欧美丰满一区二区免费视频 | 插插插综合视频 | 人人爽久久久噜噜噜婷婷 | 久久婷婷五月综合色中文字幕 | 久久无码专区国产精品s | 天堂在线免费观看视频 | 国产中文字幕在线视频 | wwwcom捏胸挤出奶 | 手机永久无码国产av毛片 | 亚洲欧美不卡高清在线观看 | av蓝导航精品导航 | 777777av| 国产 欧美 视频一区二区三区 | 午夜福利无遮挡十八禁视频 | 亚洲视频导航 | 亚洲精品第一国产综合国服瑶 | 婷婷五月综合激情 | 免费人成在线视频无码软件 | 伊人久久大香线蕉综合5g | 青青青青久久精品国产 | 亚洲精品少妇一区二区 | 狠狠色狠狠色综合日日小说 | 岛国精品在线 | 国产一卡在线 | 青青草国产免费无码国产精品 | 国产精品久久自在自线不 | 一日本道伊人久久综合影 | 色偷偷人人澡人人爽人人模 | 神马午夜在线观看 | 国产一级片播放 | 久久婷婷五月综合色和 | 国产激情久久久久影院老熟女 | 中文字幕无码家庭乱欲 | a级老太婆毛片老太婆毛片 日产精品久久久久久久 | 国产精品久久无码不卡黑寡妇 | 一本色道久久综合亚洲精品 | 午夜国产成人片在线播放 | 一二三区视频 | 国产精品久久久久久久久久久不卡 | 久草福利 | 免费看一级黄色大全 | 亚洲午夜免费视频 | 男女男精品网站 | 激情小说一区 | av免费在线不卡 | 丁香婷婷综合激情 | 天天干天天爱天天射 | 波多野结衣一区二区三区中文字幕 | 成人短视频在线 | 妞干网av | 亚洲综合无码一区二区加勒此 | 中文国产成人精品久久不卡 | 国产国产成年年人免费看片 | 国产成人精品免费视频app软件 | 丰满人妻精品国产99aⅴ | 无码av岛国片在线播放 | 欧美日韩视频在线观看免费 | 亚洲中文字幕无码乱线久久视 | 色午夜一av男人的天堂 | 亚洲精品尤物av在线观看任我爽 | 国产成人欧美 | 亚洲乱码中文字幕综合 | 欧美另类人妖 | 91黄色视屏 | 亚洲精品无码国产 | 国产清纯白嫩初高生视频在线观看 | 精品毛卡卡1卡2卡3麻豆 | 成人看| 久久riav | 丰满少妇女人a毛片视频 | 无码av不卡一区二区三区 | 成人黄色免费网址 | 好吊色欧美一区二区三区视频 | 丝瓜色版 | 国产精品久久久久久麻豆一区 | 久久91精品久久久久清纯 | 国产在线麻豆精品入口 | 成人福利视频网 | 中文字幕中文字幕 | 黄 色 软件 成 人在线 | 亚洲www | 成年女人黄网站色视频免费97 | 国产成人a在线视频免费 | 无码免费v片在线观看 | 欧美r级在线观看 | 波多野结衣久久精品99e | 日本极度另类 | 欧美精品亚洲精品日韩传电影 | 久久精品8 | 成人午夜福利视频镇东影视 | 国产狂喷潮在线观看中文 | www黄色片 | 狠狠色噜噜狠狠狠狠黑人 | 天天狠天天透天干天天 | 蜜桃传媒av免费观看麻豆 | 成年人免费看的视频 | 国产精品九色 | 亚洲第一极品精品无码 | 日本一级二级三级久久久 | 台湾乡村少妇伦理 | 日韩精品无玛区免费专区又长又大 | 少妇高潮喷水久久久影院 | 国产综合无码一区二区辣椒 | a天堂在线观看视频 | h部分肌肉警猛淫文 | 国产成人夜色高潮福利影视 | yy1111111少妇影院乱码 | 床戏一区 | 精品无码午夜福利电影片 | 农村少妇一区二区三区蜜桃 | 精品人妻伦一二三区久久aaa片 | 制服丝袜在线视频 | 免费看欧美片 | 国产精品嫩草影院免费观看 | 国产欧美一区二区三区鸳鸯浴 | 亚洲国产精品一区第二页 | 欧美艹逼视频 | 欧美va亚洲va在线观看日本 | 日本美女aⅴ免费视频 | 黑人操白妞 | 国产精品毛片在线完整版sab | 成年人免费视频网站 | a在线观看免费 | 又大又长粗又爽又黄少妇毛片 | 国产精品欧美综合 | 一进一出gif抽搐日本免费视频 | 黑人巨大精品欧美一区二区三区 | 国产国拍精品av在线观看按摩 | 国产精品一区在线蜜臀 | 成人av一级 | 少妇高潮喷水久久久久久久久久 | 深夜毛片 | 成人性生交大片免费看96 | 午夜av不卡| 狠狠色狠狠色合久久伊人 | 国产精品自拍在线 | 一区二区狠狠色丁香久久婷婷 | 欧美三级在线看 | 欧美日韩高清 | 国产多人群p刺激交换视频 国产精品丝袜无码不卡一区 | 亚洲久久久久久 | 青青色在线观看 | 337p日本欧洲亚洲大胆张筱雨 | 天天干天天操天天拍 | 色欲人妻aaaaaaa无码 | 国产一区二区精品免费 | 国产美女遭强高潮开双腿 | 久久无码人妻一区二区三区 | 91国模| av人人干 | 久久亚洲a | 分分操免费视频在线观看 | 国产传媒在线 | 男女一边摸一边做爽爽的免费阅读 | 青青草视频播放器 | 中文字幕无线码成人免费看 | 丰满少妇人妻无码专区 | 国产精品欧美在线视频 | 成年美女黄网站色大免费视频 | 99亚洲精品卡2卡三卡4卡2卡 | 马与人黄色毛片一部免费视频 | 2019中文字幕网站 | 中文字幕永久有效 | 久久青青草免费线频观 | 国产调教在线 | www亚洲一区 | 激情内射人妻1区2区3区 | 色婷婷五月综合丁香中文字幕 | 久久h视频| 97在线观视频免费观看 | 成人无码av一区二区三区 | 亚洲激情av在线 | 青青草国产精品一区二区 | 在线看片免费人成视频久网 | 在线亚洲天堂 | 无码少妇高潮浪潮av久久 | 国产三级手机在线 | 欧美精欧美乱码一二三四区 | 国产欧美日韩在线 | 丰满大肥婆肥奶大屁股 | 国产成人精品午夜二三区波多野 | av番号库每日更新 | 久久天天躁夜夜躁狠狠85台湾 | 国产成人精品一区二三区 | 亚洲视频无码高清在线 | 深爱开心激情网 | 翔田千里一区二区 | 欧美久久久久久久久久 | 97影院理论片手机在线观看 | 亚洲国产成人在人网站天堂 | 成人试看120秒体验区 | 91麻豆精品一二三区在线 | 国产欧美视频一区二区 | 欧美成人777 | 青青草国产精品亚洲 | av天堂永久资源网 | 夜夜爽夜夜叫夜夜高潮漏水 | 26uuu久久噜噜噜噜 | 一级特黄aa | 色综合天天综合高清网国产在线 | 欧美色图在线视频 | 最新国产精品精品视频 视频 | 色视频无码专区在线观看 | 午夜福利电影 | 青青草av一区二区三区 | 亚洲伦理天堂 | 操碰97| 欧美伊人网 | 国产人成无码视频在线观看 | 在阳台上玩弄人妻的乳球 | 国产7色在线 | 国产 | 婷婷亚洲综合 | 亚洲va久久久噜噜噜久久狠狠 | 在线精品亚洲欧美日韩国产 | 麻豆tv在线观看 | 国产精品呻吟久久人妻无吗 | 久久亚洲国产精品影院 | 麻豆av一区二区 | 老妇裸体性激交老太视频 | 天天天天做夜夜夜夜做无码 | 亚洲最大成人在线观看 | 国产精品av一区 | 日韩人妻无码精品—专区 | 亚洲欧洲精品成人久久曰影片 | 97精产国品一二三 | 99精品国产在热久久无毒不卡 | 丁香花五月 | 男女羞羞羞视频午夜视频 | 欧美人妻一区二区三区 | 少妇无套内谢久久久久 | 国产又粗又硬又黄的视频 | 波多野结衣高清视频 | 真实人与人性恔配视频 | 欧美人妻体内射射 | 国产又色又爽又黄的视频在线 | 国产精品99蜜臀久久不卡二区 | 久久久久久中文 | 免费观看日韩钙片gv网站 | 91婷婷色 | 日本a级在线 | 天堂网在线www资源 欧美三级欧美成人高清 | 国产女主播一区 | 九九精品99久久久香蕉 | 色综合亚洲一区二区小说 | 中文字幕乱码熟妇五十中出色欲 | 国产精品_国产精品_k频道 | 在线99视频 | 亚洲在线一区 | 九色丨9lpony丨国产 | 久久国产精品久久久久 | 一本大道在线无码一区 | 狠狠色综合久久丁香婷婷 | 亚洲中文字幕无码卡通动漫野外 | 麻豆传煤入口免费进入2023 | 美女av免费观看 | 羞羞视频网站免费 | 爽爽av | 丝袜国产在线 | 欧美成人二区 | 91国产丝袜播放在线 | 国产交换配乱淫视频免费 | 六月婷婷色 | 日本中文视频 | jizzjizz日本免费视频 | av在线h| 国产美女裸体丝袜喷水视频 | 亚洲三级图片 | 黄色三级a| 亚洲色婷婷婷婷五月基地 | 波多野结衣视频在线 | 少妇午夜av一区 | 狂野欧美激情性xxxx在线观看 | 在线观看中文字幕视频 | 屁屁影院第一页 | 婷婷六月激情 | 国产免费一区二区三区四区五区 | 91成年影院| 处破大全欧美破苞二十三 | 国产乱国产乱老熟300部视频 | 少妇下蹲下露大唇58 | 欧美人与动牲交片免费 | 国产中文字幕久久 | 国产农村妇女精品一二区 | 日韩欧美一区在线 | 无码av最新高清无码专区 | 日韩精品一 | 中文字幕人妻av一区二区 | 99久久久国产精品免费无卡顿 | 免费看成人aa片无码视频吃奶 | 久草加勒比 | 亚洲宅男天堂 | 亚洲精品一二区 |