Relaciones entre objetos: Agregación vs. Composición
Algunas relaciones entre objetos se entienden de forma sencilla, es el caso de la herencia.
Sin embargo, la diferencia entre asociación y composición no es tan clara. Las dos relaciones hacen referencia a la relación Parte < ------- > Todo
La bibliografía clásica siempre indica que la diferencia entre agregación y composición es que en el caso de la agregación la parte tiene sentido sin el todo y en el caso de la composición no.
Esta definición es un poco ambigua para la mayoría de lectores. En primer lugar diremos que el concepto que hace de parte debe considerarse dentro del contexto que estemos tratando. Dentro de ese contexto debemos determinar si tiene sentido de forma independiente.
Veamos ejemplos relacionados con el lenguaje.
En el primer caso tenemos una relación de agregación de las palabras (Partes) con un diccionario (Todo). El objetivo del sistema es determinar el significado de una palabra. No existe, conceptualmente, una estructura subyacente debajo de la relación.
En el segundo ejemplo tenemos una relación de composición de las palabras (Partes) con una frase (Todo). El objetivo del sistema es modelizar frases. En este caso sí que existe, conceptualmente, una estructura subyacente dentro de la relación. Las palabras se deben estructurar en un determinado orden para que la frase sea correcta.
Si estamos modelizando el motor de un coche usamos una relación de composición con sus partes. Si estamos modelizando una tienda de piezas de coche estamos hablando de agregación.
Este concepto es muy importante porque el paso a composición indica que existe una estructura subyacente entre las partes.
Como siempre esta modelización se puede usar en cualquier dominio educativo.
Product Designer | UX | UI | Design Systems
7 mesesJavier Salvador ¿Se podría decir que la composición está vinculada al orden que genera la existencia del todo?