在我的應用程序使用此結構:地點進行驗證
控制器 - >服務 - >庫
創建庫+過濾器爲DAL層。但是我在服務層中放置了驗證方法(例如對於必填字段)。它是否正確?或者更好的是,如果我替換存儲庫層中的驗證?
第二個問題。在這個架構中,服務可以與許多存儲庫一起運行。將服務與其他服務一起運行,還是隻有我需要使用存儲庫才能運行?
在我的應用程序使用此結構:地點進行驗證
控制器 - >服務 - >庫
創建庫+過濾器爲DAL層。但是我在服務層中放置了驗證方法(例如對於必填字段)。它是否正確?或者更好的是,如果我替換存儲庫層中的驗證?
第二個問題。在這個架構中,服務可以與許多存儲庫一起運行。將服務與其他服務一起運行,還是隻有我需要使用存儲庫才能運行?
有幾個圖書館可以幫助您驗證。
第一個(我個人使用的)是FluentValidation,它允許您爲模型對象創建驗證器。它可以在http://www.codeplex.com/FluentValidation
還有另一個專門用於ASP.NET MVC應用程序的庫,它提供了稱爲xVal的服務器端和客戶端驗證。 http://www.codeplex.com/FluentValidation
我通常按照您提到的方式設置我的項目,並且我的大部分邏輯和/或驗證發生在服務層,而存儲庫層僅用於查詢。
是的,謝謝我閱讀。我創建了服務層驗證,但是現在我有一個想法來替換業務對象本身的驗證,並且我不知道我是否應該這樣做?我不知道什麼更好1)對象必須自己驗證或者 2)另一個層必須驗證對象。 – 2009-04-30 12:16:21