說明聽起來像只是一堆詞,所以這裏是一個更詳細的解釋。我有一個映射到數據庫表的User對象。 我希望用戶處於不同的角色。會有一堆 - 他們在技術上將是同一個表中的相同用戶,但是他們將應用不同的角色。假設角色A中的用戶必須有兩個字段,並且必須對其密碼的長度和內容以及密碼的時間到期等有一定的限制。業務規則用戶的Java應用程序
雖然我可以硬核那些我非常感興趣的規則可以用來定義規則,並且可以存儲在數據庫中,這樣可以更容易地加載/應用主要想法 - 更改和更新它們 - 沒有重新部署代碼庫。
從技術上講,最愚蠢和直接的解決方案是實現類,序列化,存儲在數據庫中,然後加載,反序列化,調用它將執行規則的方法。問題在於對規則集的更改(讀取規則類的「接口」),通常解決方案聽起來像是黑客。
其他嗎?任何框架?其他方法?
UPDATE:可能不清楚。說,我有班級User.java 我需要定義不同的規則說: 1.我們需要驗證密碼的長度,它應該是什麼? 2.我們是否需要要求一些屬性? 3.我們是否需要跟蹤此用戶的登錄嘗試? 4.如果我們確定跟蹤,允許多少登錄嘗試? 5.我們是否過期密碼? 6.如果我們這樣做,那麼在多少天內?或幾個月?或幾周? 7. ... 等等。 所以問題是。 - 如何定義這些規則並對用戶對象進行操作而不用修改和重新部署代碼庫? - 我如何存儲這些規則集?
Drools,jBPM等似乎不適合這項任務。但任何建議都會有幫助!