Vamos a reconstruir uno de nuestros sitios en .Net. He leído muchos artículos y me gusta mucho la idea de separar nuestro proyecto en una capa de acceso a datos (DAL), capa de lógica empresarial (BLL) y capa de presentación (venimos de ASP clásico, por lo que este es un gran paso para nosotros) También me gusta mucho Linq a SQL.Linq a SQL y particionamiento lógico (DAL, BLL)
Dado que Linq to SQL está dirigido a un desarrollo rápido, ¿es realmente posible con Linq a SQL tener un DAL, BLL y una capa de presentación? Con Linq a SQL, ¿el DAL devolvería las entidades o el código linq que posiblemente podría modificarse en el BLL? La relación entre DAL y BLL con Linq a SQL parece ser un tema difuso sin consenso, y dado que este es un gran salto para nosotros, definitivamente quiero tener un buen plan de juego antes de meterme en cualquier cosa.
Los conjuntos de datos mecanografiados parecen estar más equipados para esto, pero si logro algo similar con Linq iría por esa ruta.
Me gustaría mantenerme alejado de nHibernate y otras bibliotecas de terceros.
Partición DAL, BLL, etc., no es lo mismo que n-tier. n-tier típicamente implica particiones * físicas *. Si bien siempre es bueno tener particiones lógicas (por ejemplo, ensamblaje) para la presentación y la lógica comercial, diría que esta es una preocupación aparte de la partición física. ¿Cuál te gustaría resolver? –
Me preocupan las particiones lógicas. –
Puede tener un DAL y BLL por separado con LinqToSql, pero depende de usted hacerlo posible y debe definir dónde se dibuja la línea. LinqToSql lo alienta a difuminar la línea, por lo que debe luchar activamente para crear una clara separación de preocupaciones. –