2009-04-01 34 views
12

Como dice el título, me interesa saber cómo suele estructurar sus soluciones ASP.NET.Estructura típica de una solución ASP.NET?

Estoy especialmente interesado en ASP.NET WebSite soluciones, pero la información sobre otros tipos (WebApplication, MVC) puede ser interesante también.

Algunas preguntas específicas:

  • qué/cuántos proyectos/conjuntos que hace la solución contiene
  • ¿cómo asignar nombres a los proyectos de biblioteca de clase
  • lo espacios de nombres hacer que suelen tener
  • hacer que tener múltiples espacios de nombres por proyecto/ensamblaje o tiene una estricta relación 1: 1
  • etc.

Gracias

Respuesta

4

Uno de mis proyectos se parece a:

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

Core es el modelo de dominio y los servicios de dominio, por lo que se puede hacer sin entrar en la persistencia. Data es la capa de persistencia, que básicamente significa definiciones de FluentNHibernate e implementaciones concretas de interfaces definidas en Core. Web es la capa de front-end.

+0

lees mi mente. – craigmoliver

1

Me suelen utilizar el nombre de la solicitud de nombre de la solución (utilizando la "solución" tipo de proyecto genérico), entonces tienen SolutionName.Site, SolutionName.Domain, SolutionName.Persistence, etc ... para los proyectos que contiene Parece que es más fácil tratar con todas las referencias.

Sin embargo, me gustaría ver las respuestas de otras personas. Si bien esta es la mejor manera que he encontrado, no puedo evitar la sensación de que podría haber una mejor.

3

He hecho algo similar a Justice. Pero con un menor número de proyectos (y más rápido tiempo de compilación)

Sln

  • Project.Core
  • Project.Web
  • Project.Test

Proyecto.Core se verá así

  • Repositorio
  • dominio
  • Presentador
  • Servicio
  • Ver
  • Común

que realmente no obtener un beneficio a partir de múltiples (más de 3) proyectos. No obtienes testablility y tus tiempos de compilación se alargan mucho más.

Además, lo primero que hago cuando obtengo un proyecto de sitio web es convertirlo en una aplicación web. Pero, en general, mis proyectos no cambian cuando cambio de sitios web a aplicaciones web.

Cuestiones relacionadas