¡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. Patrones de diseño en C#
  3. Introducción a los patrones de comportamiento
Extrait - Patrones de diseño en C# Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y C# [2ªedición]
Extractos del libro
Patrones de diseño en C# Los 23 modelos de diseño: descripción y soluciones ilustradas en UML 2 y C# [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. Esto 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 estructuración aportan soluciones a los problemas de estructuración de datos y de objetos.

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

Estos patrones 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 Template Method tal y como ilustra la figura 4-1.1.

images/fig171.PNG

Figura 4-1.1 - Reparto de procesamiento mediante herencia ilustrado por el patrón 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 ellos concurren a la realización de un procesamiento o de un algoritmo. El patrón Strategy ilustra este mecanismo en la figura 4-1.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 4-1.2 - Distribución de un procesamiento entre distintos objetos ilustrado por el patrón Strategy

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

Chain of Responsibility

Delegación

Command

Delegación...