規則引擎算法解決什麼問題?
哪些是推薦的?規則引擎算法解決什麼問題?
5
A
回答
6
規則引擎可以封裝業務邏輯,通常以聲明方式。這避免了在軟件中定製編碼業務邏輯的需要。
規則引擎的算法是怎樣的規則匹配和觸發實現的,所以它的實現細節,而實際解決問題本身。算法可能有不同的非功能優勢或劣勢。規則引擎算法的常見示例是Rete Algorithm,用於Java規則引擎JESS和Drools中。
1
的問題僅僅是 傳統代碼過於繁瑣:這個問題可能不是很複雜,但你不能看到它建立的非易碎的方式。
問題是超越了任何明顯的算法基於解決方案:這是解決一個複雜的問題,有沒有明顯的傳統解決方案或基本問題還沒有完全理解。
邏輯經常變化:邏輯本身可能很簡單(但並非必須),但規則經常變化。在很多組織中,軟件發佈很少,而且規則可以幫助提供合理安全的方式所需和預期的「敏捷性」。
域專家(或業務分析師)是隨時可用的,但是非技術性的。
0
採取了規則引擎計算的決定,基於一個或多個輸入參數。
0
規則引擎往往試圖解決經常變更或有時快速,輕鬆地定義不清的問題。
它們並不十分複雜,許多實現都表現出嚴重的性能和擴展性問題。
1
在最低水平,向前鏈規則引擎可以在大致有以下幾種方式構建的規則集(通常是大的規則集):
if (Condition A) {assert (Condition B)}
if (Condition C) {assert (Condition B)}
if (Condition B) {do something}
的條件下也可以有參數:
if (Condition A (X, Y)) {assert (Condition B (X)}
if (Condition C (X)) {assert (Condition B (X)}
if (Condition B (X)) {do something with X}
這些鏈條可以像你想要的一樣深。 Rete algorithm及其變體允許大規則集的高效處理。
規則引擎解決的問題是將規則集的維護與應用程序分離 - 無需重新編譯應用程序即可重新配置規則。雖然(理論上)非技術分析師或中小企業能夠保持規則集自己,在實踐中需要一點技術知識,以避免搬起石頭砸自己的腳在一個複雜的規則集 - 和規則引擎是位毫無意義,如果你不沒有一個很大的規則集。
如果規則引擎的閃光點就是規則集大且經常變化,或在那裏它們被內置到打包的應用程序和用於配置以支持客戶的具體業務規則或工作流程觸發的應用。
相關問題
- 1. 正則表達式引擎如何解決不規則問題?
- 2. 爲什麼不使用規則引擎?或規則引擎
- 3. 爲什麼simplex算法可以解決線性規劃問題
- 4. 規則引擎從經典更改爲決策規則引擎
- 5. 需要分配或解決問題以便理解規則引擎
- 6. 規則引擎可以完成什麼?
- 7. 解決方案推理規則算法
- 8. 規則引擎.net
- 9. .Net規則引擎
- 10. NHibernate解決什麼問題?
- 11. StringBuilder解決什麼問題?
- 12. Maven解決什麼問題?
- 13. 根據規則計算價格(Ruby規則引擎)
- 14. 算法在FPDF中解決了什麼問題?
- 15. 算法 - 這個Erastothenes解決方案有什麼問題
- 16. Antlr4語法/規則 - 解決BASIC打印變量的問題
- 17. 哪個算法可以解決這個約束規劃問題?
- 18. 用於解決Java算法問題的常規類/源代碼?
- 19. 在解決方案中實現業務規則引擎的方法或模式?
- 20. 什麼是基於規則的算法?
- 21. 解決TicTacToe引擎
- 22. C#:英語語法規則引擎?
- 23. 配置規則引擎 - 替代方法?
- 24. 這個mod_rewrite規則有什麼問題?
- 25. 這個htaccess規則有什麼問題?
- 26. .htaccess:這條規則有什麼問題?
- 27. Drools規則有什麼問題?
- 28. 以下htaccess規則有什麼問題
- 29. Python中的規則引擎
- 30. 業務規則引擎
+1不錯的定義 – JohnIdol 2010-03-16 22:01:13