2 votes

Conception d'applications ASP.NET MVC

Ok, j'ai reçu toutes sortes d'informations sur MVC, EF4, Repository Pattern, UoW, Service Layers, etc. et maintenant je vais essayer de mettre tout cela ensemble.

Ma question est la suivante : comment les séparer ?

Je pensais à des projets comme celui-ci :

1) Application - MVC App
2) Couche référentiel 3) Entités - EF4/Classes d'entités partielles

Toute suggestion serait la bienvenue !

Merci, Sam

5voto

Darin Dimitrov Points 528142

Voici un exemple de la façon dont vous pourriez structurer votre demande :

  1. Modèles de domaine (objets POCO primaires)
  2. Référentiels (mise en œuvre de certaines technologies d'accès aux données en fonction des exigences du projet) : EF, NHibernate, LINQ to XML, appels de services web à distance, ...)
  3. Service (opérations commerciales regroupant plusieurs opérations CRUD en une opération commerciale qui sera exposée avec les objets du domaine)
  4. Application ASP.NET MVC (contrôleurs, vues, modèles de vue, mappeurs entre les objets du domaine et les modèles de vue)

Ces couches peuvent représenter une séparation physique (assemblages) ou une séparation logique dans le même assemblage.

3voto

jfar Points 19380

Ne séparez pas le code physiquement jusqu'à ce que vous ayez une raison physique de le faire, par exemple pour des raisons de déploiement ou de partage de code. Utilisez des dossiers et des espaces de noms.

3voto

Je viens moi-même de traverser cette épreuve et la meilleure approche que j'ai trouvée est de loin la suivante Architecture S#arp .

D'excellents modèles génèrent l'échafaudage du projet pour vous et ils expliquent bien pourquoi vous voulez vraiment une séparation physique du projet. Bon argument ici . Leur tutoriel montre comment le TDD avec ce modèle est un jeu d'enfant.

La beauté de ce modèle est la séparation des préoccupations qu'il offre, donc si vous voulez utiliser EF, c'est un jeu d'enfant de remplacer NHibernate.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X