中国女人真人一级毛片-色天堂影院-蜜桃视频一区二区三区-精品视频99-天堂网在线播放-一区二区三区色-富婆如狼似虎找黑人老外-又大又粗又爽18禁免费看-制服丝袜中文-天天草av-另类激情视频-成人福利小视频-一个色的综合-色婷婷激情五月-激情五月五月婷婷

行業動態

.Net Core 環境下構建強大且易用的規則引擎

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

1. 引言

1.1 為什么需要規則引擎

在業務的早期時代,也許使用硬編碼或者邏輯判斷就可以滿足要求。但隨著業務的發展,越來越多的問題會暴露出來:

  • 邏輯復雜度帶來的編碼挑戰,需求變更時改變邏輯可能會引起災難

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

  • 運行期間無法即時修改規則,但重新部署可能會帶來其他問題

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

這些困境在『 小明歷險記:規則引擎 drools 教程一』 一文中可以體會一番,一開始只是簡單的根據購物金額來發放積分,運行期間又要更改為更多的規則層次,如果不及時引入對應的規范化處理機制,開發人員將慢慢墜入無止盡的業務深淵。對此,聰明的做法是在系統中引入規則引擎,對業務操作員要提供盡量簡單的操作頁面來配置規則,規則引擎和配置盡量不要耦合到一塊。

1.2 .Net Core 環境下的選擇 -- Nrules

目前最流行的規則引擎應該是Drools, 用 Java 語言編寫的開放源碼規則引擎,使用 Rete 算法對所編寫的規則求值,其操作流程如下:

沐歌環保

對于 .Net 應用來說,可以通過 Kie 組件提供的 Rest 接口調用規則引擎運算。然而其過于龐大,僅僅只是需要規則引擎計算核心的部分。對此,查找了 .Net 中開源的規則引擎,發現只有同樣實現 Rete 算法的 Nrules 滿足要求(支持 .Net Core,運行時加載規則引擎)。

注:本文參考借鑒了美團技術團隊 從 0 到 1:構建強大且易用的規則引擎 一文的設計思路,對 Drools 從入門到放棄。

2. Nrules 實戰 -- 電商促銷活動規則引擎設計

2.1 了解 Nrules

NRules 是基于 Rete 匹配算法的.NET 生產規則引擎,基于.NET Standard ,支持 4.5+ 的應用,提供 流式聲明規則、運行時構建規則、專門的規則語言(開發中,不推薦使用到生產,基于.Net 4.5 而不是 .NETStandard )。
其計算機制也與其他規則引擎大同小異:
沐歌環保

2.2 設計規則配置

前文提到 對業務操作員要提供盡量簡單的操作頁面來配置規則 ,所以我們定義促銷活動的規則配置就要盡量簡單。

沐歌環保

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

沐歌環保

這里為了簡化設計,設計的模型并不會去約束平臺、活動范圍、會員等級等,僅僅約束了使用的產品 id 范圍。為了匹配現實中可能出現的組合優惠(類似滿減活動后還可以使用優惠券等)現象和相反的獨斥現象(如該商品參與xx活動后不支持X券),設置了一個字段來判斷是否可以組合優惠,也可以理解為所有活動都為組合優惠,只是有些組合優惠只有一個促銷活動。

注:想了解更多關于電商促銷系統設計可參考腦圖

2.3 規則配置轉換

為了實現 規則引擎和配置盡量不要耦合到一塊,必須有中間層對規則配置進行轉換為 Nrules 能夠接受的規則描述。聯系前文的計算機制,我們可以得到這樣一個描述模型:

沐歌環保

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

  • 大于等于三件打 7 折

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

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

基于此分析,我們可以看出,只有第一個最多的數量規則是不一樣的,其他規則都是比前一個規則的數量小且大于等于當前規則的數量,那么我們可以這樣轉換我們的規則配置:

沐歌環保

2.4 生成規則集合

在 Nrules 的 wiki 中,為了實現運行時加載規則引擎,我們需要引入實現 IRuleRepository ,所以我們需要將描述模型轉換成 Nrules 中的 RuleSet:

沐歌環保

2.5 執行規則引擎

做了轉換處理僅僅是第一步,我們還必須創建一個規則引擎的處理會話,并把相關的事實對象(fact)傳遞到會話,執行觸發的代碼,相關對象發生了變化,其簡單代碼如下:

沐歌環保

2.6 應用場景示例

我們假設有這么一個應用入口:傳入一個購物車(這里等價于訂單)id,獲取其可以參加的促銷活動,返回對應活動優惠后的結果,并按總價的最低依次升序,那么可以這么寫:

沐歌環保

假設這么一個購物車id,買一件時最優惠是參加 A 活動,買兩件時最優惠是參加 B 和 C 活動,那么其效果圖可能如下:

沐歌環保

3. 結語

本文只是對規則引擎及 Nrules 的簡單介紹及應用,過程中隱藏了很多細節。在體會到規則引擎的強大的同時,還必須指出其局限性,規則引擎同樣不是銀彈,必須結合實際出發。

擴展閱讀:Martin Fowler:應該使用規則引擎嗎?

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


? 中文字幕一区二区三区人妻在线视频 | 日韩欧美在线观看 | 713电影免费播放国语 | 秋霞午夜鲁丝一区二区 | av黄色片 | 色婷婷亚洲精品 | 人人综合网 | 国产中文视频 | 五月婷婷丁香 | 中文字幕av网站 | 久久久久久综合 | 91一区 | 特黄一级片 | 青青在线视频 | 日本一级片| 91久久久久| 二级毛片| 久久午夜精品 | 亚洲高清免费视频 | 三级在线播放 | av网址导航 | 成人性生交大片免费卡看 | 成年人免费视频网站 | 熟睡侵犯の奶水授乳在线 | 手机看片福利视频 | 91福利网 | 国产精品无码一区二区三区免费 | 嫩草嫩草嫩草嫩草 | 日韩在线视频一区 | 色综合天天综合网国产成人网 | 91九色国产| 日本一区二区三区在线播放 | 美女爱爱视频 | 国产免费一区二区三区最新不卡 | 欧美美女视频 | 精品网站999www| 欧美视频二区 | 国产精品久久久久久久久久久久久久久 | 日韩欧美精品一区二区 | 亚洲码无人客一区二区三区 | 日韩欧美黄色 | 视频网站在线观看18 | 成人伊人网 | 污污视频网站 | 欧美精品99 | 女女调教被c哭捆绑喷水百合 | 伊人导航 | 一区二区高清视频 | 国产农村妇女精品一二区 | 日韩在线视频观看 | 福利在线播放 | 欧美日韩中文字幕 | 偷拍亚洲色图 | 少妇福利视频 | 黄色免费视频网站 | 99久久精品国产一区二区成人 | 无码人妻精品一区二区 | 成年人在线视频 | 青青草原av| 久草视频在线播放 | 欧美精品久久99 | 成人黄视频 | 青草视频在线免费观看 | 狼人综合网 | 国产免费观看视频 | 极品一线天小嫩嫩真紧 | 免费黄色在线 | 天堂中文在线资源 | 性欧美hd| 国产免费小视频 | 在线免费观看毛片 | 中文字幕第四页 | 国产麻豆剧传媒精品国产av | 午夜激情视频在线观看 | 中文字幕乱码人妻二区三区 | 69精品视频 | 亚洲视频二区 | 日本黄色电影网址 | 亚洲精品三级 | 91小视频| 国内特级毛片 | 欧美中文字幕在线观看 | 一级片网址 | 高清乱码免费看污 | 欧美日韩国产在线 | 国产精品一区二区三区四区 | 九九九精品视频 | 久久精品视频在线观看 | 欧美高清hd19 | a级片在线免费观看 | 激情网五月天 | 久久青青 | 国产视频一区二区 | 亚洲男人的天堂av | 天天色影院 | 中国极品少妇xxxxx | 日韩黄色录像 | 亚州成人 | 亚洲视频欧美视频 | 91日韩| 欧美狠狠操 | 依人在线 | 国产伦精品一区二区三区88av | 国产主播av | 欧美老肥妇做.爰bbww视频 | 奶妈的诱惑 | 成人手机在线视频 | 国产视频久久 | 黄色在线观看视频 | 在线网址你懂的 | 中文在线字幕免费观看 | 欧美久久久 | 国产精品揄拍一区二区 | 成人黄色大片 | 成年人在线观看 | 日韩av高清无码 | 国产乡下妇女做爰 | 男女日批视频 | 17c在线观看 | 在线观看网站 | 一区二区三区人妻 | 亚洲天码中字 | 久久久精品电影 | 精品黑人一区二区三区在线观看 | 亚洲精品www | 亚洲免费观看视频 | 亚洲电影一区二区 | 怡红院在线播放 | 狠久久| 欧美黑人xxxx | 国产一区二区视频在线 | 精品视频免费 | 欧美日韩在线观看视频 | 日韩一区二区三区在线 | 亚洲伦理在线 | 国产精品福利在线 | 国产黄色一级 | 欧美一级二级三级 | 国产人人干 | 最好看的日本字幕mv视频大全 | 九九香蕉视频 | 国产视频一区二区在线观看 | av一区二区三区四区 | 91欧美激情一区二区三区成人 | 中文字幕在线一区 | av网址在线播放 | 99免费视频 | 免费看女生隐私 | 亚洲免费在线观看 | 精品视频久久 | 久久在线免费视频 | 天堂成人网 | 久久久久久久久久久久久久久久久久久久 | 日韩在线视频免费观看 | 日本中文字幕在线视频 | 九九视频在线 | 国产一页| 他揉捏她两乳不停呻吟动态图 | 在线观看日韩av | 国产综合av | 国产一区二区三区四区 | 成人网页| 日日操日日干 | 久久久影视 | 成人精品国产 | 亚洲欧洲一区二区三区 | 嫩草在线| 久久九九视频 | 成人v精品蜜桃久一区 | 黄色片免费 | 老妇高潮潮喷到猛进猛出 | 1024日韩 | 日韩免费一区二区 | 亚洲精品视频在线播放 | 特级西西人体444www高清大胆 | 免费看黄色网址 | 大美女100%露出奶 | 捆绑调教视频网站 | 国产精品久久久久久久久久久久久久 | 国产精品1区2区 | 日本三级视频在线观看 | 久久69| 国产色视频| 美国一级黄色大片 | 国产精品色 | 爱爱动态图 | 日韩精品一区二区三区 | 狠狠干网站 | 中文字幕+乱码+中文乱码www | 97久久久 | 日韩av电影网 | 婷婷综合网 | 已满18岁免费观看电视连续剧 | 日韩在线观看免费高清 | 人妻少妇一区二区三区 | 欧美激情区 | 不卡中文字幕 | 噜噜噜色| 国产拗女 | 婷婷综合五月 | 国产传媒一区二区三区 | 欧美高清在线 | 中文字字幕一区二区三区四区五区 | av大片在线观看 | 少妇熟女视频一区二区三区 | 国产三级网站 | 蜜桃视频一区 | 亚洲网站在线观看 | 久久国内精品 | 久久久久久久亚洲 | 日本一级大片 | 欧美丰满一区二区免费视频 | 欧美午夜精品一区二区 | 中国一级特黄真人毛片免费观看 | 日韩视频第一页 | 国产精品区二区三区日本 | 黄色一级大片在线免费看产 | 天天做天天爽 | 在线免费看毛片 | 光明影院手机版在线观看免费 | 国产九色91回来了 | www黄色| 91视频一区二区 | 夜夜操夜夜操 | 日韩激情片 | 婷婷综合五月 | 日韩欧美色 | 亚洲精品区 | 香蕉视频在线播放 | 中国免费av| 日日爽 | 日日夜夜狠狠干 | 国产理论| 91午夜视频| 手机看片日韩 | 欧美99 | 污视频在线观看免费 | 亚洲精品国偷拍自产在线观看蜜桃 | 久久免费精品 | 国产成人av在线 | 四虎av在线 | 一边摸一边抽搐一进一出视频 | 99热最新网址| 91美女片黄| 亚洲国产高清国产精品 | 亚洲天天干 | 深夜在线视频 | 亚洲免费在线观看视频 | 国产精品久久AV无码 | 久草视频在线播放 | 国产一级片视频 | 成人网页 | 密桃成熟时在线观看 | 91极品身材尤物theporn | 欧美日韩精品久久久免费观看 | 欧洲精品一区二区 | 蜜桃视频一区二区三区 | 国产一区不卡 | 欧美厕所偷拍 | 北条麻妃av在线 | 不卡在线视频 | 这里只有精品久久 | 亚洲综合一区二区三区 | 日韩欧美精品在线 | 性欧美hd| 超碰香蕉| 永久免费在线观看 | 国产精品视频一区二区三区 | 亚洲国产精品视频 | 超碰偷拍| 91婷婷| 久久av一区二区三区亚洲 | 国产精品九九九 | 亚洲 小说区 图片区 | 精品久久久久久久久久 | 榴莲视频黄色 | 亚洲一级二级 | 俄罗斯毛片| 久久一级片 | 欧美浮力影院 | 亚洲一区二区精品 | 日日夜夜视频 | 国产18照片色桃 | 国产成人一区二区三区 | 日本泡妞视频 | 精品久久久久久久久久久久 | 香蕉视频在线观看免费 | www.四虎影视 | 福利小视频 | 蜜臀av一区二区三区 | 国产精品久久久久久精 | 欧美一区二区三区视频 | 三级电影网址 | 国产小视频在线播放 | 91快色| 综合色婷婷一区二区亚洲欧美国产 | 让男按摩师摸好爽 | 亚洲激情视频 | 六月色婷婷 | 国产做爰高潮呻吟视频 | 欧美老熟妇又粗又大 | 成人亚洲电影 | 亚洲精品国产精品乱码不卡√香蕉 | 欧美日韩影院 | 国产欧美日韩一区二区三区 | 午夜精品一区二区三区在线视频 | 欧美大肥婆大肥bbbbb | 国产精品日韩欧美 | 二级毛片 | 一区二区三区免费观看 | 亚洲视频在线观看 | 蜜臀av在线播放 | 奇米在线| 91射区 | 少妇被狂c下部羞羞漫画 | 九九人人 | 一级片免费 | 人人妻人人澡人人爽久久av | 成人av免费在线 | 视频在线观看免费高清完整版在线观看 | 成人禁污污啪啪入口 | 久草久草| 欧美一区二区精品 | 99视频精品| 色视频网站| 欧美中文字幕在线观看 | 国产日韩欧美 | 91看片看淫黄大片 | 四虎精品在线 | 日韩激情片 | 欧美激情图片 | 97精品超碰一区二区三区 | 性xxxx狂欢老少配o | 91在线观 | 久本草精品 | 韩日视频 | 国产对白videos麻豆高潮 | 在线观看国产免费视频 | 日韩成人在线视频 | 国产成人精品一区二区三区在线 | 蜜桃传媒 | 欧美日韩国产高清 | 99re| 午夜激情福利 |