2009-04-30 74 views
0

在我的應用程序使用此結構:地點進行驗證

控制器 - >服務 - >庫

創建庫+過濾器爲DAL層。但是我在服務層中放置了驗證方法(例如對於必填字段)。它是否正確?或者更好的是,如果我替換存儲庫層中的驗證?

第二個問題。在這個架構中,服務可以與許多存儲庫一起運行。將服務與其他服務一起運行,還是隻有我需要使用存儲庫才能運行?

回答

1

有幾個圖書館可以幫助您驗證。

第一個(我個人使用的)是FluentValidation,它允許您爲模型對象創建驗證器。它可以在http://www.codeplex.com/FluentValidation

還有另一個專門用於ASP.NET MVC應用程序的庫,它提供了稱爲xVal的服務器端和客戶端驗證。 http://www.codeplex.com/FluentValidation

我通常按照您提到的方式設置我的項目,並且我的大部分邏輯和/或驗證發生在服務層,而存儲庫層僅用於查詢。

1
+0

是的,謝謝我閱讀。我創建了服務層驗證,但是現在我有一個想法來替換業務對象本身的驗證,並且我不知道我是否應該這樣做?我不知道什麼更好1)對象必須自己驗證或者 2)另一個層必須驗證對象。 – 2009-04-30 12:16:21