I. PATRÓN DE DISEÑO: VISITOR

A continuación se encuentra la plantilla del patrón objeto de estudio:

1. Nombre del patrón: Visitor.

2. Clasificación del patrón: De comportamiento.

3. Intención: Representa una operación para ser ejecutada sobre los elementos de una estructura de objetos. Visitor permite definir una nueva operación sin cambiar las clases de los elementos sobre los cuales éste opera. Proporciona un marco genérico para soportar operaciones sobre un grupo de clases.

4. Estructura:



5. Participantes

Visitor: Establece las operaciones a realizar.

ConcreteVisitor: Implementa dichas operaciones.

Element: Define un método Accept() que toma un visitor como argumento.

ConcreteElement: Implementa el método Accept().

6. Consideraciones:

•Utilice el patron visitor cuando:

- Un sistema contiene un grupo de clases relacionadas.
- Tiene que realizar algunas operaciones no triviales sobre algunas o todas las clases relacionadas.
- Las operaciones deben ejecutarse de forma diferente para las distintas clases.

•Alta flexibilidad para añadir operaciones.
•Si se modifica las clases Element se debe reescribir el código del visitor. Cualquier clase adicional hace necesario definir un nuevo método en la interfaz Visitor y cada ConcreteVisitor tiene que proporcionar una implementación para ese método.

No hay comentarios:

Publicar un comentario