Drools規則引擎-什麼是規則引擎

echo編輯整理,歡迎轉載,轉載請聲明文章來源。歡迎添加echo微信(微信號:t2421499075) 交流學習。


什麼是規則引擎

規則引擎由推理引擎發展而來,是一種嵌入在應用程序中的組件, 實現了將業務決策從應用程序代碼中分離出來,並使用預定義的語義模塊編寫業務決策。 接受數據輸入,解釋業務規則,並根據業務規則做出業務決策。

簡單來說包括像表單驗證和動態表達式引擎這樣的簡單系統都可以稱之爲規則引擎。

概念是不是有點抽象

其實講的就是一個東西,將我們複雜的if else形成的規則抽離出來

規則引擎有哪些

  • Drools
  • Visual Rules
  • EasyRules
  • Aviator表達式求值引擎

還有很多,這裏就不一一舉例了

規則引擎作用是啥?

你一定見過這樣的代碼:

在這裏插入圖片描述

這裏寫的還是比較簡單的那種實現,如果當我們的業務需求不斷迭代的時候,你會發現你的if else會越來越龐大,而且不好管理。規則引擎的作用就是直接將這些if else和業務代碼剝離,比如Drools剝離這種if else,最終業務代碼裏面只需要這些就行了

在這裏插入圖片描述

當然,到這裏可能很多人看不懂,沒關係,這兩行代碼代表的就是將我們if else完全剝離了出來。具體怎麼實現的我們後面再講

規則引擎真的就不需要if else了嗎

這是可能是否不小的誤區,我們的業務決定了我們的代碼規則,if else就是我們代碼規則的體現,如果說我使用了Drools這樣的規則引擎,不代表說我不需要了if else只是用其他的方式來代替了。最關鍵的就是if else已其他的形式出現,同時將它與業務代碼分離開來了。

規則引擎的優點

  • 聲明式編程
  • 規則移動
  • 邏輯與數據分離

規則引擎的缺點

  • 很少有成套教程
  • 國內市場並不是很成熟

總結

規則引擎就是if else的提煉

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章