Pregunta

Hay un patrón que es bueno utilizar a la hora de guardar y cargar diferentes formatos de archivo?

Por ejemplo, yo tengo una complicada jerarquía de clases para el documento, pero quiero el soporte de varios formatos de archivo diferentes.

Pensé en el patrón de Estrategia, pero no estoy convencido de que, debido a la necesidad de acceder a cada parte del objeto con el fin de guardar y cargar.

¿Fue útil?

Solución

Usted podría utilizar un Visitante Patrón, permite iterar a través de su jerarquía realizando diferentes operaciones dependiendo del nodo el Visitante está procesando actualmente.

Malas noticias:usted probablemente tendrá que añadir al menos un método virtual en la parte superior de la jerarquía, y tal vez volver a definir en algunas clases derivadas, y el visitante acceder a los datos de los nodos, pero desacoplar el formato de archivo, como los visitantes diferentes implementaciones pueden escribir los datos recogidos en diferentes maneras.

Echa un vistazo también a la recuerdo patrón si la ocultación de la clase de jerarquía de datos es una necesidad. Este artículo también podría ser útil.

Editar:Enlace a la original Recuerdo patrón de artículo el uso de caché de google

Otros consejos

Es posible que desee echar un vistazo a el Generador de patrón.GoF página 97..

Cómo sobre (algo basado en la Método de plantilla de patrón?

Una superclase sabe cómo destrozar la jerarquía de clases, sino que depende de sus subclases para realmente hacer algo útil con ella.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top