2013-08-16 50 views
4

因此,我目前正在一家公司實習,並且負責爲分析引擎創建UI規則編輯器的中間層。作爲這項工作的一部分,我確保所有創建的規則都是有效的規則。這些規則可能相當複雜,包括10個字段,每個字段有多種可能性。什麼是最好的方法來進行規則驗證

我一直在我的頭上,我一直在試圖找到一些材料來指導我完成這項任務,但我似乎找不到多少。我可以採取什麼樣的模式或設計方法將其分解爲更易於管理的任務?一本書要閱讀?任何想法或指導將不勝感激。

+1

有效性是如何定義的?有幾種選擇,例如1)規則可以被執行(在語法上是有效的),2)規則可以被執行並且執行返回有意義的結果(例如,具有一些屬性的一些數據),3)規則符合預定義的規則模式。 1通過解析器解決,2應該很容易檢查,3需要對允許的模式進行一些頭腦風暴。 –

+0

你能提供一個你需要實施的規則嗎? – MattClarke

回答

0

您可能會考慮花時間學習詞法分析器/解析器,例如Anltr4。您可以使用Antlrwork2 ide來協助可視化和調試。

Antlrworks2:http://tunnelvisionlabs.com/products/demo/antlrworks

你可以通過搜索例如語法離開地面,然後調整他們爲您的特定需求。

語法:https://github.com/antlr/grammars-v4

ANTLR提供了輸出綁定在多種不同的語言 - 因此你將可能有一個適合您的需求。

在任何情況下,這都不是一項簡單的任務 - 而是一個有趣且有意義的任務。

0

您需要爲此構建算法。

點應遵循

1)的基礎上數據類型支持和有兼容性驗證爲參數。 2.)哪個運算符後面跟隨特定數據類型的操作數。 3.)某些表達式的返回結果應該再次與下一個操作數或運算符兼容。

給出一個模擬規則的功能,用戶可以在其中選擇需要觸發規則的數據集。

a + b > c 

可能的組合。

1.)a,b可以是字符串,數字或整數。 2)但是,如果String和operator「>」的組合結果不能來。

相關問題