2010-06-24 26 views
5

¿Es lo que estoy haciendo debajo de un patrón de diseño común? Si es así, ¿cuál es el nombre?¿Es este un patrón de diseño común? "Patrón de descriptor"?

Tengo un objeto complejo que tiene campos "simples" como cadenas y listas de cadenas, así como otros objetos complejos. Quiero agregar instancias de este objeto a una cola de mensajes JMS, lo que significa que deben ser Serializable. No quiero hacer el gráfico de objetos completo Serializable, por lo que he elegido crear objetos "Descriptor" que contengan la información necesaria para construir los objetos complejos y los objetos "Builder" que pueden crear los objetos. Ahora, serializo el objeto "Descriptor" y lo agregué a la cola. Cuando el objeto se quita de la cola, se integra en un objeto completo usando el "Constructor".

Una nota importante que hacer es que los objetos son trabajos que se ejecutan en otros sistemas. La cola de mensajes es de una sola manera y la serialización solo ocurre al comienzo del ciclo de vida del trabajo.

Respuesta

9

El patrón más similar al que implementó parece el Memento patrón.

En ese caso, se utiliza para almacenar el estado de un objeto en un objeto Memento, mientras que cualquier cosa puede modificar el objeto original y le permite restaurar el estado de edad utilizando el Memento como un "estado anterior" de tu objeto

En su caso, no es necesario almacenar una instantánea del objeto para modificar el original, sino una versión ligera del valor serializable de sí mismo, por lo que no es exactamente lo mismo, pero bastante similar.

+0

Gracias por la respuesta y una breve explicación. –

4

Para mí esto suena como si hubiera implementado (parte de) el Memento pattern.