Tengo que recuperar la que te debo :-) ---------------------------------- Carlos Peix
2011/6/6 Nestor Rodriguez <[email protected]> > Ya te deben una cerveza. > > 2011/6/6 Carlos Peix <[email protected]> > >> Hola Arlen, >> >> 2011/6/1 Arlen <[email protected]> >> >>> ¿Los DTO deberian soportar la navegacion entre entidades? No se muy >>> bien como se le llama a esto. Pero es que si tengo una entidad Usuario >>> y otra Rol, por ejemplo, a traves del usuario puedo navegar hasta el >>> rol o referenciar el rol. Disculpen mi mala explicacion. >>> >> >> Los DTOs debe estructurarse en funcion de las necesidades del consumidor >> *de ese webservice en particular*. en otras palabras, cada servicio o >> familia de servicios, deberian tener su propio juego de DTOs. >> >> Dentro de esa estructura de DTO pueden tener cualquier estructura, sin >> embargo suele buscarse la simplificacion o aplanamiento de la estructura (lo >> contrario de un modelo muy profundo). >> >> >> ¿Donde deberia ubicar los DTO en la capa de datos o en la de negocio? >>> >> >> Ninguna de las dos, los DTOs deben estar bien cerca del servicio al que >> asisten, entonces, deben estar en la capa de servicios. Incluso, ante algun >> cambio de la version del servicio, deberias prever un cambio completo del >> juego de DTOs >> >> >> >>> ¿Es factible crear varios DTO de una misma entidad? ¿Como aseguro que >>> si la entidad que representa cambia el DTO correspondiente cambie? >>> >> >> Si, si tenes varias "familias de servicios" cada una deberia tener su >> propio juego de DTOs ajustados a las necesidades de los servicios y sus >> clientes. >> Con respecto al cambio, usualmente se busca lo contrario. Uno no quiere >> cambiar las interfaces de los servicios externos ante cada cambio del modelo >> interno o, por lo menos, uno desea desacoplar eficazmente cambios en ambos >> entornos. >> Por supuesto, cuando cambia el modelo interno seguramente debe cambiar el >> codigo de mapeo entre ese modelo interno y los DTOS, pero los DTOs no >> cambian. >> >> Por ejemplo, en los servicios publicos (XML webservices), comienzo con una >> estrucura mas o menos asi: >> >> {webroot}/Clima/v1/Hoy.asmx >> {webroot}/Clima/v1/DTOs/Temperatura.cs >> {webroot}/Clima/v1/DTOs/Viento.cs >> >> Luego, cuando llega la version 2 del servicio, duplico todo y hago los >> cambios necesarios y promuevo gentilmente los clientes de la version 1 a la >> 2. >> >> ---------------------------------- >> Carlos Peix >> >> -- >> Para escribir al Grupo, hágalo a esta dirección: >> [email protected] >> Para más, visite: http://groups.google.com/group/NHibernate-Hispano >> > > -- > Para escribir al Grupo, hágalo a esta dirección: > [email protected] > Para más, visite: http://groups.google.com/group/NHibernate-Hispano > -- Para escribir al Grupo, hágalo a esta dirección: [email protected] Para más, visite: http://groups.google.com/group/NHibernate-Hispano
