Composite

Composite

Patrón de diseño estructural

El patrón de diseño Composite nos sirve para construir estructuras complejas partiendo de otras mucho más simples; dicho de otra manera, podemos crear estructuras compuestas que están conformadas por otras estructuras más pequeñas.

Estructura del patrón de diseño Composite
Estructura del patrón de diseño Composite.

Los componentes del patrón se explican a continuación:

  • Component: Generalmente es una interface o clase abstracta que tiene las operaciones mínimas que serán utilizadas, este componente deberá ser extendido por los otros dos componentes Leaf y Composite.
  • Leaf: El leaf u hoja, representa la parte más simple o pequeña de toda la estructura y ésta hereda de Component. Leaf recibe su nombre de la teoría de árboles, donde se le nombra así a todo nodo que no tiene descendencia, en este caso son clases simple que no están compuestas de otras.
  • Composite: Este componente es el que le da vida al patrón de diseño ya que este objeto está conformado por un conjunto de Component y Leaf. En teoría de árboles este componente representaría una rama.
Diagrama de secuencia del patrón Composite
Diagrama de secuencia del patrón Composite
  1. El cliente realizar una acción sobre el CompositeA.
  2. CompositeA a su vez realiza una acción sobre CompositaB.
  3. CompositeB realiza una acción sobre LeafA y LeafB y el resultado es devuelto a CompositeA.
  4. CompositeA propaga la acción sobre LeafC, el cual le regresa un resultado.
  5. CompositeA obtiene un resultado final tras la evaluación de toda la estructura y el cliente obtiene un resultado.

Ejemplo del mundo real

Mediante la implementación del patrón de diseño Composite crearemos una aplicación que nos permita crear una estructura compleja de productos, donde un producto puede ser tan solo un simple productos como tal, o el agrupamiento de más de un producto que puede ser representado como uno solo. Las agrupaciones de productos o productos compuestos, pueden ser creados a su vez de otros productos compuestos, formando una estructura de árbol, donde el precio del producto es igual a la suma de todos los nodos de él, y son vistos desde el sistema, como producto único.

Descubre como el patrón Composite nos ayuda a resolver este problema
Descubre como el patrón Composite 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í 🎉

Acerca de este libro

Introducción a la arquitectura de software

Todo lo que acabas de ver en este artículo es solo una pequeña parte del libro Introducción a los patrones de diseño, el libro más completo de patrones de diseño en español, abarcamos 25 patrones de diseño junto con 25 proyectos del mundo real. Olvídate de aprender patrones de diseño con los ejemplos típicos de Internet de cómo hacer una pizza, animales y figuras geométricas. te invito a que veas mi libro:

Ver libro
Todos los derechos reservados ©