0

Je me demande quand diviser le code et les composants d'un projet en un projet séparé. Je crée un projet Web MVC .NET, et il y a beaucoup de répertoires/sous-répertoires, et je n'ai même pas commencé à entrer dans certains processus d'arrière-plan qui prendront encore plus d'espace. J'essaie juste de travailler sur l'organisation de projets et le code-dedans.Règle de base typique pour diviser des morceaux de code en projets séparés

Quand devriez-vous commencer à diviser votre code en projets séparés? Pourriez-vous également donner un exemple?

Merci

Répondre

3

Je vois souvent une variation sur quelque chose le long des lignes de:

  • Web App
  • service Couche
  • couche d'affaires
  • couche de données
  • Unité Tests
  • Tests d'intégration

Une façon d'obtenir une idée est de rechercher des projets open source asp.net MVC et de voir comment ils le font.

Pour une alternative à ci-dessus, vous pouvez consulter CodeCampServer. Ils ont utilisé le Onion Architecture pour mettre en page leurs projets.

L'Architecture d'Oignon est différente de ce qui a été présenté ci-dessus et ils ont un grand explanation of why (webcast).

alt text alt text

Les photos prises de la page Web référencé ci-dessus.

principes clés de l'architecture oignon:

• L'application est construite autour d'un modèle d'objet indépendant • couches internes définissent des interfaces. couches extérieures implémentent des interfaces • Sens de couplage est vers le centre • Tout le code application de base peut être compilé et exécuté séparé de infrastructures

Le lien Onion Architecture avec l'échantillon open source vous donne le raisonnement derrière quand/pourquoi et un exemple concret à jouer pour voir si vous l'aimez.

0

Le plus souvent dans mes applications, afin de séparer le code dans différents projets est d'accomplir la réutilisation du code. Il n'y a pas vraiment de règles strictes, mais voici quelques principes que j'essaie de suivre.

Pour la réutilisation de code, je considère si une écriture de classe I est utilisable dans un contexte différent. Par exemple, si j'ai un site Web ASP.NET qui communique avec une base de données, le code d'accès aux données peut être réutilisé dans une application basée sur Windows. C'est donc un bon candidat à intégrer dans sa propre bibliothèque.

Je crée des méthodes d'extension pour une manipulation pratique des chaînes, des flux ou d'autres choses courantes. Ceux-ci, je factorise dans une bibliothèque pour une utilisation commune dans toutes les applications. En résumé, essayez d'organiser vos projets dans des collections hautement cohérentes de classes liées, et évitez de créer des projets «tout faire». Vous constaterez que les projets hautement cohésifs ont plus de chances d'être réutilisés, ce qui vous fera économiser du temps et de l'argent à votre employeur.