Name:
Introducción a los patrones de diseño
Brief Synopsis:
Introducción a los patrones de diseño es el libro más completo en Español, que aborda los patrones mediante ejemplos reales, que pueden ser aplicados en el mundo real.
Long Synopsis:

Hoy en día aprender patrones de diseño no es una cualidad más,si no una obligación. Y es que estudiar y comprender los patrones de diseño nos convierte en un mejor programador/arquitecto y es clave para conseguir una mejor posición en el mundo laboral. Este libro fue creado con la intención de enseñar a sus lectores cómo utilizar los patrones de diseño de una formaclara y simpledesde un enfoque práctico y con escenarios del mundo real. Tengo que aceptar que este no es un libro convencional de patrones de diseño debido, principalmente, a que no sigue la misma estructura de las primordiales obras relacionadas con este tema. En su lugar, me quise enfocar en ofrecer unaperspectiva del mundo real, en donde el lector pueda aprender a utilizar los patrones de diseño en entornos reales y que puedan ser aplicados a proyectos reales. Cuando empecé a estudiar sobre patrones de diseño, me di cuenta que siempre se explicaban en escenarios irracionales que poco o ninguna vez podrías utilizar, como por ejemplo para aprender a crear figuras geométricas, hacer una pizza o crear una serie de clases de animales que ladren o maúllen; esos eran los ejemplos que siempre encontraba, que si bien explicaban el concepto, se complicaba entender cómo llevarlos a escenarios reales. En este libro trato de ir un poco más allá de losejemplos típicospara crear cosasrealmente increíbles. Por ejemplo:

Portada:
cover art: red horse, city in background
Book Quality:
Publisher Quality
Book Size:
600 Pages
ISBN-10:
1539619214
Publisher:
Date of Addition:
10/10/2016
Copyright Date:
2016
Copyrighted By:
Oscar Javier Blancarte Iturralde
Adult content:
No
Language:
Español
Essential Images:
170
Described Images:
170
Categories:
Patrones de diseño
Grade Levels:
University
Submitted By:
Oscar Javier Blancarte Iturralde

Visitor

Patrón de Comportamiento

El patrón de diseño Visitor se utiliza para separar la lógica u operaciones que se pueden realizar sobre una estructura compleja. En ocasiones nos podemos encontrar con estructuras de datos que requieren realizar operaciones sobre ella, pero estas operaciones pueden ser muy variadas e incluso se pueden desarrollar nuevas a medida que la aplicación crece.

A medida que estas operaciones crecen, el número de operaciones que deberá tener la estructura también crecerá haciendo que administrar la estructura sea muy complejo. Por esta razón el patrón de diseño Visitor propone la separación de estas operaciones en clases independientes llamadas Visitantes, las cuales son creadas implementando una interface común y no requiere modificar la estructura inicial para agregar la operación.

Estructura del patrón Visitor.

A continuación se explican los componentes que conforman el patrón.

  • Cliente: Componente que interactúa con la estructura (element) y con el Visitante, éste es responsable de crear los visitantes y enviarlos al elemento para su procesamiento.
  • Element: Representa la raíz de la estructura, en forma de árbol, sobre la que utilizaremos el Visitante. Este objeto por lo general es una interface que define el método accept y deberán implementar todos los objetos de la estructura.
  • ConcreteElement: Representa un hijo de la estructura compuesta, la estructura completa puede estar compuesta de un gran número de estos objetos y cada uno deberá implementar el método accept.
  • IVisitor: Interface que define la estructura del visitante, la interface deberá tener un método por cada objeto que se requiera analizar de la estructura (element).
  • ConcreteVisitor: Representa una implementación del visitante, esta implementación puede realizar una operación sobre el element. Es posible tener todos los ConcreteVisitor necesarios para realizar las operaciones que necesitemos.
Diagrama de secuencia del patrón Visitor.
  1. El cliente crea la estructura (Element).
  2. El cliente crea la instancia del Visitante a utilizar sobre la estructura.
  3. El cliente ejecuta el método accept de la estructura y la envía al Visitante.
  4. El Element le dice al Visitante con que método lo debe procesar. El Visitante deberá tener un método para cada tipo de clase de la estructura.
  5. El Visitante analiza al Element mediante su método visitElement y repite el proceso de ejecutar el método accept sobre los hijos del Element. Nuevamente el Visitante deberá tener un método para procesar cada clase hija de la estructura.
  6. El ConcreteElementA le indica al Visitante con qué método debe procesarlo, el cual es visitElementA.
  7. La visitante continúa con los demás hijos de Element y esta vez ejecuta el método accept sobre el ConcreteElementB.
  8. El ConcrteElementB le indica al Visitante con qué método debe procesarlo, el cual es visitElementB.
  9. Finalmente el Visitante termina la operación sobre la estructura cuando ha recorrido todos los objetos, obteniendo un resultado que es solicitado por el cliente mediante el método getResults (el resultado es opcional ya que existen operaciones que no arrojan resultados).

Ejemplo del mundo real

Mediante la implementación del patrón de diseño Visitor veremos cómo es que el plan de construcción de un proyecto tipo Microsoft Project es analizado y evaluado para arrojar los datos que requerimos de él, para esto, construiremos un plan de trabajo conformado por actividades y personal, forma una estructura jerárquica en forma de árbol.

Descubre como el patrón Visitor nos ayuda a resolver este problema.


¿Sabes la importancia de los patrones de diseño?

Los patrones de diseño son la clave para crecer profesionalmente hacia la arquitectura de software, sin mencionar que los salarios son los más altos de la industria de IT, descúbrelo en este video.

🎉 Este video es parte del curso de patrones de diseño, inscríbete aquí 🎉