En el libro “Real World Java EE Patterns: Rethinking Best Practices” Adam Bien se cuestiona y replantea algunos patrones que habíamos dado por buenos durante mucho tiempo (como un mindundi como yo se va a cuestionar el patrón DTO?)…
Especialmente interesante es el patrón Gateway:
“The Gateway exposes rich and persistent domain objects directly to the presentation logic. Because the domain objects are well encapsulated already – it is rather an advantage, than a shortcoming. Because of simplicity and built-in aspects, an EJB 3.1 happens to be the simplest and leanest candidate for a Gateway implementation.”
El título del artículo no deja duda de que el patrón Gateway me gusta: “KISS Local and Stateful Gateways”.
En el artículo se muestra el uso del EntityManager JPA 2 en modo EXTENDED, en este modo el EntityManager mantiene todas las entidades JPA en sesión, lo que tiene la ventaja de no necesitar sincronización o la carga LAZY.
El patrón Gateway también se llama Anti-Facade, en el sentido de que es la aproximación contraria al patrón Service Facade que se usa para aislar los objetos del dominio vía DTOs (Dios como lo odio).
En el patrón Gatway la capa de presentación (en frameworks server-centric) puede hacer binding sobre los objetos persistentes.
A priori el patrón me gustaaaa, quizás no sea aplicable para todo tipo de aplicaciones ni para la mía (como tampoco lo eran los EJBs Stateful) pero sin duda, lo usaré pronto ;).



Deja un comentario