Estoy escribiendo esta pregunta desde el punto de vista de una aplicación ASP.NET. Sin embargo, me doy cuenta de que también puede adaptarse a otros contextos.Ideal .NET Architecture?
Hay tantos enfoques para desarrollar los elementos comunes de un sitio web ASP.NET. Aquí están algunos que he encontrado:
- LLBLGen
- SubSonic
- LINQ a SQL
- de Entity Framework
- CodeSmith + .netTiers
- NHibernate
- mano DAL codificación/BLL/Presentación
No me considero un desarrollador experto de ninguna manera, sin embargo, entiendo bien las técnicas comunes de programación orientada a objetos (OOP) y puedo realizar todos mis proyectos sin problemas. Sin embargo, me cuesta saber cómo "diseñar" un sitio. Con eso, quiero decir, ¿debería usar n-tier architecture? ¿Sigue siendo el estándar de oro y las herramientas anteriores solo utilizan ese concepto? Estoy bastante seguro de que quiero detenerme en MVC hasta un lanzamiento futuro (o final).
***** Editar: He eliminado la parte de la pregunta que trata sobre patrones (singleton, fábrica) después de haber entendido más completamente la separación de la pregunta. Gracias por todos los que han respondido esta parte hasta ahora, sin embargo, mi enfoque principal está en la parte de arquitectura. *****
Edición # 2: Cambié el título para ser más una pregunta agnóstica al darme cuenta esto se aplicaría a más de la arquitectura específica de la web.
Pregunta: ¿Qué pasos debo tomar como primer paso, cuando me he sentado delante de un lienzo en blanco (archivo de solución) con todos mis requisitos de pre-escritas sistema de documentación y en la mano? ¿A dónde voy desde allí?
por cierto, su pregunta es sinónimo de casi cualquier tipo de proyecto - ya sea web, winforms o servicio web - y las mejores respuestas también indicará un enfoque arquitectónico general de que se adapte a cualquier proyecto :) – flesh
Punto tomado: he cambiado las etiquetas y el título de la pregunta. –