sirve que puede programar programacion para nombres métodos miembros lenguaje espacio error directamente cómo contener como comandos codigos campos .net namespaces project-organization

.net - que - un espacio de nombres no puede contener directamente miembros como campos o métodos



¿cómo organizas tus espacios de nombres? (4)

Así que tengo entidades lógicas (persona, país, etc.), elementos / controles GUI, controladores / controladores de navegación y datos, luego cosas como cuadrúpedos y temporizadores, y siempre lucho con la separación limpia de estas cosas en espacios de nombres lógicos.

Por lo general, tengo algo como esto:

  • Leviathan.GUI.Controls
  • Leviathan.GUI.Views
  • Leviathan.Entidades
  • Leviathan.Controllers (datos y otras cosas)
  • Leviathan.Helpers (árboles y otras cosas)

¿Hay alguna buena guía sobre esto? Necesito detener este lío.


Intenta evitar el "y otras cosas" o "misc". categorías, si está poniendo las cosas en estas categorías, está fallando en organizarlas de verdad.


Normalmente creo un espacio de nombres para cada nivel, como UI, lógica de negocio y base de datos. Me obliga a separar los niveles. Creo otros espacios de nombres dentro de ellos según los componentes del sistema.


Para aplicaciones

Company.Product.Tier.Sub.Sub

donde me gusta obtener Nivel de Modelo, Vista, Controlador u otros nombres establecidos (Datos)

Pero para nuestros controles, terminamos con

Company.Product.LogicalFeatureGrouping

o

Company.Product.Addon

a veces es

Company.Product.LogicalFeatureGrouping.Addon


Sigo el ideal de Java / python de que los espacios de nombres deben seguir la estructura del directorio.