2009-04-01 8 views
12

Comme le titre l'indique, je suis intéressé de savoir comment vous structurez généralement vos solutions ASP.NET.Structure typique d'une solution ASP.NET?

Je suis particulièrement intéressé par les solutions ASP.NET WebSite, mais des informations sur d'autres types (WebApplication, MVC) peuvent également être intéressantes.

Quelques questions spécifiques:

  • ce que/combien de projets/ensembles ne la solution contient
  • comment nommez-vous vos projets de bibliothèque de classe
  • ce que namespaces avez-vous généralement
  • -vous avoir plusieurs espaces de noms par projet/assemblage ou avez-vous une relation stricte 1: 1
  • etc.

Merci

Répondre

4

Un de mes projets ressemble à:

  • Sln
    • Sln.Core
    • Sln.Core.Test
    • Sln.Data
    • Sln.Data.Test
    • Sln.Web
    • Sln.Web.Test

Core est le modèle de domaine et les services de domaine, dans la mesure où ils peuvent se faire sans entrer dans la persévérance. Les données sont la couche de persistance, ce qui signifie essentiellement les définitions FluentNHibernate et les implémentations concrètes des interfaces définies dans Core. Le Web est la couche frontale.

+0

vous avez lu dans mes pensées. – craigmoliver

1

J'utilise généralement le nom de l'application pour un nom de solution (en utilisant le type de projet "Solution" générique), puis ont SolutionName.Site, SolutionName.Domain, SolutionName.Persistence, etc ... pour les projets qu'il contient. Cela semble faciliter le traitement de toutes les références.

J'aimerais voir les réponses d'autres personnes. Bien que ce soit la meilleure façon que j'ai trouvée je ne peux pas secouer le sentiment qu'il pourrait y avoir un meilleur.

3

J'ai fait quelque chose de similaire à Justice. Mais avec moins de projets (et plus rapide compilation)

Sln

  • Project.Core
  • Project.Web
  • Project.Test
du projet

.Noyau ressemblera à ceci

  • dépôt
  • Domaine
  • Présentateur
  • service
  • Voir
  • commune

Je ne suis pas vraiment un avantage de plusieurs (plus 3) projets. Vous ne gagnez pas en testabilité, et vos temps de compilation deviennent beaucoup plus longs.

Aussi, la première chose que je fais quand je reçois un projet de site Web est de le convertir en une application web. Mais dans l'ensemble, mes projets ne changent pas lorsque je passe d'un site Web à un autre.

Questions connexes