Meilleure structure pour la solution ASP.NET MVC

J'ai essayé de structurer mon dernier non négligeable de projet MVC à la suite d'une approche des meilleures pratiques, mais qui n'ont pas tout à fait comprendre ce que je faisais.

Il a un Données, des Affaires et du Web (MVC), mais les contrôleurs de contenir la plupart du code, la couche de Données utilise NHibernate et a un peu de référentiels responsable de trop de choses, et la couche de gestion est un dépotoir pour tout ce qui n'appartient pas dans les deux autres projets. Il fonctionne, mais je pense qu'il pourrait avoir été le programme d'installation de mieux - les principales choses que je n'aime pas, ce sont les gros contrôleurs et les référentiels.

Je commence un nouveau projet qui pourrait pousser à être d'une taille décente, je suis donc passer un peu plus de temps à essayer d'obtenir mon design sur le devant. Après avoir lu un peu plus, je suis en train de disposer d'un référentiel par agrégat de la racine, et ensuite avoir un service dans la couche de gestion pour chaque contrôleur de la couche de présentation.

Mes espoirs ont été que l'essentiel du code irait dans les services, et ceci couplé avec les petits dépôts permettrait de garder mon contrôleurs et les données de la couche mince. Jusqu'à présent cependant, ce n'est pas le cas.

Tout ce que j'ai lu suggère que les Modèles de Vue ne doit pas être retourné à partir de la couche de gestion, et doit être renseignée dans la couche de présentation, donc pour le moment ma couche de service est principalement passant modèles de ma couche de données grâce à la couche de présentation qui fait ce qu'il doit préparer les modèles de vue. Donc, j'ai encore de la graisse contrôleurs, en plus d'une mince affaires et de la couche de données.

Ma couche de présentation aussi connaît à la fois mon métier et les données de la couche, mais je pensais que la partie de la pointe de cette séparation était de réduire le couplage?

Ai-je eu ce tort et à travers? Dois-je arrêter d'essayer de suivre aveuglément ce que j'ai lu sur internet et il suffit de préparer des modèles de vue de la couche de gestion afin que je puisse déplacer la majeure partie de mon code? Dois-je revenir à la classique ASP? 🙂

source d'informationauteur littlecharva