Question

Juste essayer d'obtenir ma tête autour des responsabilités de la couche de service et de la couche dépôt lors de l'enregistrement d'un objet à mon magasin de persistance.

Mon actuelle en règle est la suivante:

Dans mon contrôleur j'ai créé un objet « Note » des données fournies par l'utilisateur (de la forme). L'utilisateur appelle ensuite « Enregistrer » sur la « Noteservice » (ce qui est là par injection de dépendance).

Dans la méthode « Enregistrer » sur la « Noteservice » Je porte ma validation de la logique métier et passe alors l'objet « Note » la méthode « Save » du « NoteRepository ».

La méthode « Save » du « NoteRepository » puis vérifie s'il y a une clé primaire sur cet objet et si oui alors obtenir de cet objet à partir de la db et des mises à jour des propriétés de l'aide de l'objet « Note » passé à travers et il est ensuite sauvegardé de nouveau à la dB. S'il n'y a pas de clé primaire alors l'objet est simplement enregistré dans la db et ensuite retourné au service avec sa nouvelle clé primaire.

Était-ce utile?

La solution

Votre séparation des préoccupations semble assez bon pour moi. Nous suivons le même modèle, mais ont tendance à ajouter une couche plus droit de la couche de stockage. Nous appelons la couche de domaine et de réaliser toute notre logique métier là-dedans. Notre couche de service est juste une passe dans notre domaine au cas où nous devons publier nos services à un bus ESB dans l'avenir.

Le plus grand avantage de ce que vous faites n'encombrent toute la logique métier et DB dans le contrôleur que beaucoup de gens ont tendance à faire. Vous voulez toujours vos contrôleurs pour être aussi léger que possible si vous voulez vraiment suivre MVC.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top