2011-12-28 83 views
4

我正在使用FluentValidation框架。目前我有幾個驗證器(每個實體)。我將實體保存在單獨的程序集(ProjectName.Domain)和驗證程序中。在哪裏放置服務層

我讀過關於在存儲庫和控制器之間提供介體層的服務層(http://www.asp.net/mvc/tutorials/older-versions/models-(data)/validating-with-a-service-layer-cs)。 將service layer放在同一個組件中可以嗎?

據我瞭解,服務層的目的是保存具體(或可能通用)的存儲庫和相應的驗證器,並對存儲庫項目進行驗證。所以實現可能有所不同我對嗎?

如何以正確的方式使用FluentValidation(或獨立於框架)製作服務層。或者將基本實體與一些FluentValidation AbstractValidator class集成是可以接受的。

謝謝!

回答

4

分離層不需要物理上分離的組件。事實上,你擁有的裝配越多,管理解決方案就越困難/麻煩。分離層是一個合乎邏輯的問題。也許它被命名空間或命名約定分開。

As far as I understand the purpose of service layer is to hold concrete (or possibly generic) repository and corresponding validator and make a validation over repository items. So implementations may vary. Am I right?

,可以是一個服務層一所用,但它並沒有要。在過去的幾年中,「服務」這個詞已經被濫用,幾乎沒有任何意義。

分層您的應用程序的目的是讓應用程序適應變化。這是一個非常模糊的陳述,但這就是它設計的目的。層允許封裝和封裝允許改變。