|
Herramienta interesante para la implementación del "value object assembler" |
|
|
|
|
Escrito por Carlos Soderguit
|
|
miércoles, 14 de febrero de 2007 |
Es bastante común en los sistemas organizados en capas lógicas aplicar el patrón Value Object o Transfer Object.
Una estrategia es definir una capa vertical de value objects, representando el modelo de información de la aplicación, compartida entre todas las capas (típicamente presentación, negocios y persistencia).
Otra estrategia bastante común es tener value objects específicos de cada capa y realizar conversiones, muchas veces copiando atributos a varios niveles de anidamiento, para pasar datos de una capa a la otra. Muchas veces la conversión no es directa (1 a 1) y el Value Object Assembler entra en juego para ensamblar value objects obtenidos de diversas fuentes o subsistemas en objetos de mayor granularidad (típicamente a retornar desde una fachada de sesión).
Muchos nos hemos enfrentado con la engorrosa tarea de transformar programáticamente jerarquías complejas de value objects de una capa a otra, y tener que mantener esto (también programáticamente) cuando los modelos de información cambian. Hace un par de días me llegó de The Server Side una noticia sobre una nueva versión de un producto open source, que no conocía, llamado Dozer. Esta herramienta apoya a automatizar esta tarea configurando las conversiones entre value objects en forma declarativa.
Lo cierto es que no lo he evaluado aún pero la lista de características realmente promete. En cuanto lo evalúe les paso mis impresiones, si alguien lo evalúa antes lo invito a postear sus resultados.
Sin mas por ahora
Carlos
|
|
Modificado el ( viernes, 23 de febrero de 2007 )
|