J'ai été en utilisant MVC cadres pendant un court instant et j'aime vraiment la façon dont les préoccupations sont séparés. J'ai eu une mauvaise habitude de laisser les contrôleurs de faire un peu de travail. Donc, je suis vraiment à la recherche de quelques conseils.
Quand j'ai commencé à utiliser MVC, j'ai très souvent eu le contrôleur de faire la manipulation sur les modèles d'après la base de données de travail a été accompli. Je savais que c'était une mauvaise chose tellement ému que le travail dans les modèles. Cependant, je ne suis pas heureux avec ce que je veux de mes modèles très apprendre.
J'ai fait un peu de lecture et je vois que les gens gardent leurs contrôleurs et des modèles maigre par avoir une couche de service, dont j'aime bien le look de.
J'essaie juste de comprendre comment une couche de service et de dépôt devrait tous travailler ensemble. Voici mes hypothèses, pouvez-vous s'il vous plaît laissez-moi savoir si c'est une bonne façon de travailler?
- Le contrôleur peut appeler le référentiel directement si aucune manipulation doit être effectuée sur les données et en tant que telle une couche de service n'a pas besoin de s'impliquer
- Une fois que tout le travail qui doit être fait pour les données (logique), alors cela devrait être fait dans la couche de service et le contrôleur va faire un simple appel à la couche de service en tant que de besoin
- Une fois le service terminé, il est logique d'entreprise, il sera alors utiliser le référentiel nécessaire (si les données doivent être conservées).
- Les modèles devraient idéalement être conservés maigre, idéalement agissements comme rien de plus que des Otd
- La Validation des données se fera dans les modèles (à l'aide de MonoRail attributs de validation). J'apprécie même pas aime polluer leurs modèles avec beaucoup d'attributs, mais c'est une autre discussion. J'aime le bénéfice de MonoRail de validation des attributs pour le système automatique de jQuery de validation dans l'INTERFACE utilisateur.
Je suis en train de tourner tout mon code autour du principe de responsabilité unique, donc en essayant de trier mes pratiques de codage.
Merci