2008-11-22 18 views
5

Estoy tratando de encontrar las mejores prácticas en la estructura del directorio del proyecto.¿Está bien tener código en la raíz de un proyecto?

mi última idea es que no debería haber clases en el directorio raíz de un proyecto. Todas las clases tienen que pasar por debajo de uno de los siguientes directorios

  • IU
  • BusinessObjects
  • BusinessLogic
  • DataAccess

me gustaría saber que piensan otras personas sobre si hay casos de uso de poner las cosas en el nivel raíz o buscar clases que no se ajusten a

Respuesta

8

Si está hablando de C#, entonces separaría su DAL, BLL, GUI en diferentes proyectos en lugar de un proyecto. Y tiene una solución. Esto obligará a cada archivo de código a estar dentro de uno de los proyectos.

He añadido un ejemplo:

  • Solución: Nombre del Proyecto
    • Proyecto: DAL (Espacio de nombres: ProjectName.DAL)
      • carpeta: Repositorios (Espacio de nombres: ProjectName.DAL. Repositorios)
      • Carpeta: Contratos (Namespace: ProjectName.DAL.Contracts)
      • Archivos: Su configuración de asignación Entidad
    • Proyecto: BLL (Espacio de nombres: ProjectName.BLL)
      • carpeta: Servicios (Espacio de nombres: Project.BLL.Services)
      • carpeta: Entidades (Espacio de nombres: Project.BLL. entidades)
      • archivos: clases de configuración IOC/lógica de negocios en general
    • Proyecto: compartido (Espacio de nombres: ProjectName.Shared)
      • Archivos: general compartida lógica throught toda la aplicación (por ejemplo, una constante InvalidIdentifier) ​​
      • Este proyecto no debe hacer referencia a otros proyectos en la solución ..
    • Proyecto: Sitio Web (Espacio de nombres: ProjectName.Website)
      • Tu asp.neto sitio Web UI
    • Proyecto: Winforms (Espacio de nombres: ProjectName.Winforms)
      • Sus winforms IU

Si es posible, debe dar al proyecto de sitio web y winforms una nombre relativo a su aplicación.

1

Este blog debe proporcionarle algunas lecturas interesantes, a pesar de tener tres años. Puede darle ideas además de las de estructura de directorios.

0

Los únicos archivos que colocarse en la carpeta raíz son Program.cs y Program.ico (si es ejecutable de la aplicación).

0

No lo hago, pero no tiene nada que ver con la estructura del directorio (para mí). Quiero todo mi código en espacios de nombres significativos.

0

Siempre pongo la clase base para las excepciones de mis proyectos en la raíz.

Cuestiones relacionadas