Question

Venant d'un environnement informatique d'entreprise, la norme créait toujours un projet de bibliothèque de classes pour chaque couche, logique métier, accès aux données, et parfois une plus grande isolation de types spécifiques.

Maintenant que je travaille sur mon propre projet d’application Web, je ne vois pas vraiment la nécessité d’isoler mon code de cette façon.

Je n'ai pas plusieurs applications qui doivent partager cette logique ou ce service l'activer.Je ne vois pas non plus aucun avantage aux scénarios de déploiement.

Je penche pour placer tous les artefacts dans une seule application Web, logiquement séparés par des dossiers de projet.

Je voulais savoir quelles sont les pensées de la communauté.


Permettez-moi d'ajouter plus d'informations...

J'écris cette application en utilisant MVC Preview 5, donc la partie de test unitaire sera prise en charge par la séparation des préoccupations héritées du framework.J'aime avoir des tests pour tout !

Était-ce utile?

La solution

Commencez par la chose la plus simple possible et ajoutez de la complexité si et quand cela est nécessaire.On dirait qu'un seul assemblage fonctionnerait parfaitement pour votre cas.Cependant, veillez à ne pas violer les couches en demandant à la couche A d'accéder à un membre interne de la couche B.Cela rendrait plus difficile le regroupement ultérieur des couches dans des assemblages séparés.

Autres conseils

Je dirais que cela dépend de votre sérieux en matière de tests et de tests unitaires.

Si vous prévoyez de faire uniquement des tests utilisateur/manuels, ou si vous utilisez essentiellement des tests uniquement à partir de l'interface utilisateur vers le bas, cela ne fait pas vraiment de différence.

D'un autre côté, si vous envisagez d'effectuer une sorte de test unitaire ou de validation des règles métier, il est tout à fait logique de diviser votre travail en différents assemblys.

Même pour les petits projets personnels, je trouve que cette approche me facilite la vie au fur et à mesure que le projet avance.J'exécute toujours tout à partir de la même solution, juste avec un projet web pour l'interface utilisateur, une bibliothèque pour les règles métier/logique d'application et une autre bibliothèque pour le DAL.

Vous devez toujours séparer logiquement les couches en projets appropriés.

C'est une bonne pratique d'ingénierie, que vous soyez seulement 1 développeur ou 100.Le point négatif du code réuni en un seul endroit est qu'il va vous obliger à refactoriser ou à dupliquer du code pour l'expansion.

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