Bien, esta es otra para usted:Consejos para un principiante Sobre las aplicaciones N-Tier
Estoy empezando en el mundo de las aplicaciones n-tier. He leído algo sobre el tema y el consejo general es que el objetivo de las aplicaciones n-tier es abstraer la funcionalidad de las capas intermedias. Por lo tanto, en base a esto, en una aplicación de n niveles del modelo regular es:
Data Access -> Business Layer -> Presentation
Como yo soy un desarrollador .NET, pensé que para mejorar la integración con múltiples tipos de clientes (Silverlight, aplicación web o incluso un cliente de WinForms) Debería usar WCF (Windows Communication Foundation) como servicios de datos en la capa de negocios para que los clientes puedan comunicarse con él, independientemente de su tipo. Además, soy un gran admirador de NHibernate como ORM. Así que mi estructura es la siguiente:
Data Access (NHibernate) -> Business Layer (WCF) -> Presentation (WPF, ASP.NET, WinForms
Bueno, por lo que es la configuración. Soy un novato total en este tipo de enfoque, así que pensé que podría publicar aquí solicitando asesoramiento sobre esta configuración. Además, estoy muy confundido sobre cómo configurar esto en una solución VS, me gusta separar capas en diferentes proyectos, pero ¿qué pasa con la abstracción de objetos de datos (como Cliente, Orden, etc.)? ¿Los pongo en una biblioteca separada? ¿Y qué hay de WCF? Sé que es un pecado del programador transferir las clases de datos por cable al cliente. ¿Cuál es la forma del profesional para lograr esto?
Gracias, cualquier consejo sería muy apreciado.
1 - una buena pregunta acercar las cuestiones al punto. Aunque puede ser un poco subjetivo. – Lucero
http://stackoverflow.com/questions/1650887/mixing-nhibernate-with-3-tier-developing – Lucero
Lucero, gracias por la respuesta. Ya revisé la pregunta, resuelvo algunas de mis dudas, pero desafortunadamente no me gusta mucho su enfoque. Todo el mundo parece ir en contra de exponer los objetos de la entidad NHibernate a WCF directamente y el póster en realidad está relacionando los servicios de WCF con NHibernate en lugar de utilizar una clase de servicio de mediador. Tengo muchas ganas de proporcionar abstracción e integración tanto como sea posible. –