¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Design Patterns en PHP
  3. Introducción a los patrones de comportamiento
Extrait - Design Patterns en PHP Los 23 patrones de diseño: descripciones y soluciones ilustradas en UML2 y PHP (2ª edición)
Extractos del libro
Design Patterns en PHP Los 23 patrones de diseño: descripciones y soluciones ilustradas en UML2 y PHP (2ª edición) Volver a la página de compra del libro

Introducción a los patrones de comportamiento

Presentación

El diseñador de un sistema orientado a objetos se enfrenta a menudo al problema del descubrimiento de objetos. Este puede realizarse a partir de los dos aspectos siguientes:

  • La estructuración de los datos.

  • La distribución de los procesamientos y de los algoritmos.

Los patrones de diseño de estructuración aportan soluciones a los problemas de estructuración de datos y de objetos.

El objetivo de los patrones de diseño de comportamiento consiste en proporcionar soluciones para distribuir el procesamiento y los algoritmos entre los objetos.

Estos patrones de diseño organizan los objetos así como sus interacciones especificando los flujos de control y de procesamiento en el seno de un sistema de objetos.

Distribución por herencia o por delegación

Un primer enfoque para distribuir un procesamiento consiste en repartirlo en subclases. Este reparto se realiza mediante el uso en la clase de métodos abstractos que se implementan en las subclases. Como una clase puede poseer varias subclases, este enfoque habilita la posibilidad de obtener variantes en las partes descritas en las subclases. Esto se lleva a cabo mediante el patrón de diseño Template Method tal y como ilustra la figura 17.1.

images/fig171.PNG

Figura 17.1 - Reparto de procesamiento mediante herencia ilustrado por el patrón de diseño Template Method

Una segunda posibilidad de reparto se lleva a cabo mediante la distribución de procesamiento en los objetos cuyas clases son independientes. En este enfoque, un conjunto de objetos que cooperan entre sí concurren a la realización de un procesamiento o de un algoritmo. El patrón de diseño Strategy ilustra este mecanismo en la figura 17.2. El método solicita de la clase Entidad invoca para realizar su procesamiento al método calcula especificado mediante la interfaz Estrategia. Cabe observar que esta última puede tener varias implementaciones.

images/figure17-2.png

Figura 17.2 - Distribución de un procesamiento entre distintos objetos ilustrado por el patrón de diseño Strategy

La tabla siguiente indica, para cada patrón de diseño de comportamiento, el tipo de reparto utilizado....