2011-12-28 4 views
4

J'utilise le framework FluentValidation. Et pour le moment j'ai plusieurs valideurs (par entité). Je garde les entités dans un ensemble séparé (ProjectName.Domain) et les validateurs non plus.Où placer la couche de service

J'ai lu à propos d'une couche de service qui présente une couche médiateur entre des référentiels et des contrôleurs (http://www.asp.net/mvc/tutorials/older-versions/models-(data)/validating-with-a-service-layer-cs). Est-il correct de placer service layer dans le même assemblage? Pour autant que je sache, le but de la couche de service est de contenir un référentiel concret (ou éventuellement générique) et un validateur correspondant et de faire une validation sur les éléments du référentiel. Les implémentations peuvent donc varier. Ai-je raison?

Comment réaliser la couche de service en utilisant FluentValidation (ou framework indépendant) dans le bon sens. Ou serait-il acceptable d'intégrer l'entité de base avec certains FluentValidation AbstractValidator class.

Merci!

Répondre

4

Les couches de séparation ne nécessitent pas d'assemblages séparés physiquement. en fait, plus vous avez d'assemblées, plus il est difficile/encombrant de gérer une solution. la séparation des couches est une préoccupation logique. peut-être est-il séparé par un espace de noms, ou une convention de nommage.

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?

qui peut être une utilisation pour une couche de service, mais il ne doit pas être. Le terme «services» a été trop utilisé au cours des dernières années au point que cela ne signifie presque rien.

Le but de la superposition de votre application est de permettre à l'application de s'adapter aux changements. C'est une affirmation très vague, mais c'est tout ce que ça veut dire. les couches permettent l'encapsulation et l'encapsulation permet le changement.

Questions connexes