2010-03-14 18 views
6

Tengo desde hace tiempo compilando n-tier Aplicaciones usando un servidor de base de datos como el nivel de datos, Winforms como el nivel de presentación y un ASP.NET asmx webservice en el medio enviar conjuntos de datos sin tipo de un lado a otro. Si bien este enfoque me ha funcionado hasta ahora, ciertamente se siente obsoleto hoy.Cómo implementar una arquitectura .NET de 3 niveles utilizando Winforms

¿Qué tecnologías debo usar si tuviera que crear una aplicación arquitecturada similar hoy? La tecnología .net 4.0 es bienvenida.

Todavía quiero un servidor de base de datos ya que el datater y los servicios web asmx probablemente deberían ser reemplazados por WCF. Todavía me gustaría que el nivel de presentación se ejecute como una aplicación de escritorio (Winforms o WPF), así que ignore ASP.net para esta pregunta.

Mi pregunta principal realmente se reduce a qué usar como objetos comerciales. Quiero algo que sea más fácil de vincular a la interfaz que los conjuntos de datos sin tipo y los conjuntos de datos fuertemente tipados se sienten muy pesados. También necesito algo que pueda hacer un seguimiento de los cambios para garantizar que los usuarios no anulen los cambios de los demás en la base de datos.

¿Podrá utilizar Entity Framework 4 para un escenario como este? ¿Hay alguna guía completa disponible?

+0

Heredé una arquitectura exactamente como la describes (conjuntos de datos sin tipo sobre asmx a Winforms) ¡así que estaré interesado en ver lo que la gente tiene que decir! –

Respuesta

1

Hay una buena introducción a la creación de aplicaciones de n-capas con EF 4 aquí: http://msdn.microsoft.com/en-us/magazine/ee335715.aspx

La introducción de objetos POCO en EF 4, hacen que sea más fácil de construir aplicaciones de n-capas, ya que elimina la necesidad de mapeadores de programas para mapear entre objetos EF y objetos de transferencia de datos.

+0

Gracias, el artículo parece ser el camino a seguir, aunque omite algunos detalles. Estoy un poco preocupado por hacer que la aplicación cliente haga referencia directamente al servicio, pero parece que es necesario evitar la generación de objetos proxy y reutilizar el modelo EF4. –

1

También prefiero usar EF4 o LinqToSQL, WCF, WF y sí WPF para la presentación. Además, si decide usar WPF, use algunas bibliotecas para IOC DI como Unity o STRUCTUREMAP o para reutilizar componentes MEF, y así sucesivamente. Si se fue utilizando WPF como formularios de Windows, no se ha beneficiado de él.

Cuestiones relacionadas