Estoy pensando en comenzar a trabajar en un proyecto .NET o ASP.NET a gran escala (aún no lo he decidido, pero es probable que, con el tiempo, se pueda acceder desde una aplicación de escritorio escrita en .NET así como una aplicación web ASP.NET). Sin embargo, no estoy seguro de si existe una forma convencional de estructurar el proyecto.¿Existe una estructura recomendada, sugerida o convencional para proyectos .NET y/o ASP.NET?
El proyecto en sí es una herramienta de gestión de recursos/conocimiento que rastrea varias fuentes de conocimiento: personas, publicaciones (libros, revistas, revistas), recursos web, documentos digitales (incluyendo PDF, documentos Word, documentos ODF, MP3 y más) y otros como mejor me parezca. Por supuesto, debido a que es tan grande, quiero poder implementar y probar una sección a la vez, pero tenerlas integradas en un solo sistema.
Una vez que tengo una o dos secciones hechas y probadas, quiero lanzar esto como una herramienta de código abierto. Sin embargo, si otros van a trabajar en esto, quiero presentarles una estructura fácil de entender. Sin embargo, nunca he trabajado en un proyecto ASP.NET y no he tocado .NET desde que el framework 2.0 era nuevo. Estoy buscando cualquier convención que exista dentro de la comunidad .NET, así como cualquier convención general sobre cómo se puede estructurar un proyecto a gran escala para hacer que el diseño, desarrollo, prueba, uso y mantenimiento sean lo más fáciles e indoloros posible para cualquiera que use o trabaje en este proyecto.
EDIT 1: No solo estoy buscando patrones (como lo señaló Toran Billups), sino también estructuras de directorios, estructuras de proyectos (como en el proyecto VisualStudio) y estructuras de documentación.