Angel "Java" Lopez escribió: > Hmmm.... Dario, en mi opinion, lo mas limpio es enviar un mensaje, un DTO. > El mapeo del NHibernate, lazy loading, y demas, queda mas claro puesto y > visto solamente desde el servidor. Lo ideal, desde un modelo de dominio. > > Pero a una aplicacion externa, a un cliente remoto, y demas, le enviara un > clasico DTO, adecuado a lo que necesita en ese momento. Apareceran entonces > fachadas remotas, encargadas de resolver como conversar con lo que ya > tenias, y enviar y recibir DTOs en cada servicio expuesto remotamente. > > Claro, por ahi hay que armar clases adicionales, y conversores de objetos de > dominio a DTOs y demas.... Pero ya estaras adivinando quien generara el > codigo... :-)
Vaya, parece que llego un poco tarde a esta conversación tan interesante :) Por si a alguien le interesa, yo he enfocado la solución a este problema desde otro punto de vista: Las clases de mi modelo (que son leídas por NHibernate) se podría decir que no tienen ningún tipo de lógica de negocio (prefiero sacarla al Controlador en lugar de que se queden en el Modelo; ya sabéis, MVC ;) ), por tanto se podrían calificar de DTOs. Como uso NHibernate en lugar de ActiveRecord, los únicos "metadatos" que tengo que eliminar para transferir objetos son las colecciones internas de NHibernate y los objetos con proxy, que se traducen en objetos o colecciones vagas. Esta transformación la hago mediante un método que usa Reflection para examinar su contenido. He optimizado el método lo máximo posible con las técnicas de optimización de Reflection que he ido aprendiendo. El resultado final es que no hacen falta generadores de código ni clases adicionales, por lo que yo creo que no está nada mal. Más info: http://knocte.blogspot.com/2006/12/serializacin-binaria-con-nhibernate.html Por cierto, en cuanto a diferencias entre el framework 2.0 e Indigo (WCF), a mí se me ocurren dos importantes: - Posibilidad de conexión bidireccional directa sin pérdida de canal en cada llamada (algo al estilo del canal bi-direccional de Ingo Rammer). [Aunque aún no he investigado cómo se hace :D ] - Posibilidad de serialización XML de objetos cíclicos. [Idem] Un saludo, Andrés [ knocte ] -- --~--~---------~--~----~------------~-------~--~----~ Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups-beta.google.com/group/NHibernate-Hispano -~----------~----~----~----~------~----~------~--~---
