好的,我已經看到關於此的其他帖子,但沒有真正明確回答我的問題。在哪裏保持驗證邏輯
在應用程序中應該驗證邏輯的位置?
我有一個小應用程序,允許將新產品插入到應用程序數據庫中。有不同領域的不同產品,即產品名稱,訂單號,說明等。新產品可以插入,現有產品可以更新。因此,在插入新產品時,必須驗證所有字段,但是當現有產品正在更新時,只有正在更新的字段需要驗證,即可能只是正在更新描述,以便只驗證該字段。
我想到一個抽象類和兩個具體類的全部和部分產品驗證器,每個驗證器都有自己的驗證邏輯包含在類級別。
我有這樣的感覺,但必須有更好的模式 - 任何建議?
請注意,驗證不限於單場驗證。驗證有很多級別,第一次在字段驗證之後是記錄/對象驗證規則,其中字段被認爲是相互關聯的。那麼你很可能會遇到這樣的情況:當你改變FieldA時,即使它沒有被改變,FieldB也是無效的。一個(做作的)例子就是將某人的年齡改爲低於法定駕駛限制。如果你還有一個領域給出他們的駕駛證號碼,如果該字段有實際價值,現在將是完全不合邏輯的 – 2010-09-06 06:29:31