Question

Comme le titre le dit, je suis intéressé à savoir comment vous structurez généralement vos solutions ASP.NET.

Je suis particulièrement intéressé par Site Web ASP.NET Les solutions, mais les informations sur les autres types (Webapplication, MVC) pourraient également être intéressantes.

Quelques questions spécifiques:

  • Quel / combien de projets / assemblages La solution contient-elle
  • Comment nommez-vous vos projets de bibliothèque de classe
  • Quelles espaces de noms avez-vous généralement
  • Avez-vous plusieurs espaces de noms par projet / assemblage ou avez-vous une relation stricte 1: 1
  • etc.

Merci

Était-ce utile?

La solution

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 être faits sans entrer dans la persistance. Les données sont la couche de persistance, ce qui signifie essentiellement des définitions Fluentnhibernate et des implémentations concrètes des interfaces définies dans le noyau. Le Web est la couche frontale.

Autres conseils

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

SLN

  • Project.core
  • Project.web
  • Projeter.test

Project.core ressemblera à ceci

  • Dépôt
  • Domaine
  • Présentateur
  • Service
  • Voir
  • Commun

Je n'obtiens pas vraiment un avantage de plusieurs projets (plus de 3). Vous n'obtenez pas de testablilité et vos temps de compilation deviennent beaucoup plus longs.

De plus, la première chose que je fais lorsque j'obtiens un projet de site Web est de le convertir pour une application Web. Mais dans l'ensemble, mes projets ne changent pas lorsque je bascule entre les sites Web et les applications Web.

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 j'ai solutionName.site, solutionname.domain, solutionname.persistence, etc ... pour les projets qu'il contient. Cela semble faciliter la gestion de toutes les références.

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

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