2012-10-10 48 views
0

我陷入了相當複雜的話題。我試圖想出一些通用的數據驗證解決方案。我們有系統,這與手機公司客戶管理系統類似,客戶擁有充滿信息(成本,支付,個人信息,事件歸檔,債務等)的賬戶,我需要在多種情況下驗證這些數據。我不能忘記有各種帳戶,其中一些需要特定的驗證。我無法弄清楚,這是一個通用的,簡單的,可重複使用的系統。java中的業務數據驗證方法

主要思想是,會有很多'約束'將被使用(如:客戶必須有名字,如果有債務,不能多付等等),並且還會有定義的情況(如賬戶取消,支付請求發送等),當我想要驗證數據(從代碼執行驗證不是話題)。情況將有一系列驗證或執行的約束條件。這是我們想要的。

但是,什麼是正確的java方法呢?所有情況和約束都應該是類嗎?情況會有約束實例,實例會有validate()方法嗎?但每個人都會有不同的論點。任何其他想法?

我知道,這裏的答案可以很長,所以我會很感激指導我關於該主題的一些文檔。 非常感謝您的回答!

回答

1

這聽起來像Visitor對我說:

你有大量的實體類型,它們都有一個共同點 - validate()方法。 如果您需要針對相同實體類型的不同驗證策略,則可以在每個驗證方法中使用Chain of Responsibility,例如,對於帳戶第一次運行名稱驗證程序,然後運行地址驗證程序,餘額驗證程序等。

好運