我是編程新手。我有一個我想驗證的對象列表(不是短路,而是每個都運行一個驗證規則列表)。在java中驗證對象的最佳方法
最初我有一個巨大的if/else語句,但它看起來並不漂亮。我認爲這樣會更好:
foreach (object: objects) {
foreach (rule: validationRules) {
try {
rule.validate(object)
} catch {
// Write to log
// Increment counter for rule
}
}
}
我只是不知道如何去創建驗證規則。我想使用Java 8謂詞,因爲我聽說這是我應該使用的,但我不知道如何去做。我想我可能會創建一個與規則的接口,然後是定義了每個規則的實現以及規則列表。這聽起來像是解決這個問題的好方法嗎?
謝謝!
有沒有更好的方式來編寫這個循環使用Java 8風格的函數式編程? –
我有點老派,經驗教我,代碼需要清晰和簡單([KISS原則](https://en.wikipedia.org/wiki/KISS_principle))。這有助於可維護性和錯誤修復。所以我認爲你的直接循環和規則方法是一個更好的選擇。我認爲任何其他方法都不會更有效率。 – StephenG
太棒了,那我就去吧。謝謝! –