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

Responder a