Agregación vs composición en UML: diferencias clave

Tabla de contenido:

Anonim

¿Qué es la composición?

La composición es un caso especial de agregación que le ayuda a especificar una relación de parte completa entre la clase de composición y una clase subordinada (parte).

¿Qué es la agregación?

La agregación es un caso especial de asociación cuando un objeto 'tiene un' otro objeto, que puede tener una agregación entre ellos. La dirección entre ellos le ayuda a especificar qué objeto contiene el otro objeto. La agregación también se conoce como relación "Tiene-a". Es un subtipo de relación de asociación en UML.

DIFERENCIAS CLAVE

  • La agregación es un tipo de asociación entre dos objetos que describe la relación "tener una", mientras que la composición es un tipo específico de agregación que implica propiedad.
  • La agregación se indica mediante una línea recta con una punta de flecha vacía en un extremo. Por otro lado, la composición se indica mediante una línea recta con una punta de flecha rellena en cualquiera de los extremos.
  • En una relación de agregación, los objetos que están asociados entre sí pueden permanecer en el alcance de un sistema sin los demás. Pero en una relación de composición, los objetos que están asociados entre sí no pueden permanecer en el alcance sin los demás.
  • En la agregación, los objetos vinculados no dependen del otro objeto, mientras que en la composición, los objetos dependen en gran medida unos de otros.
  • En Agregación, eliminar un solo elemento no afecta a otro elemento asociado. Por el contrario, en la composición, la eliminación de un solo elemento afecta a otro elemento asociado.
  • La agregación se indica con un diamante relleno, mientras que la composición se indica con un diamante vacío.

Estadísticas clave

Agregación Composición
Dueño Sin dueño Propietario único
Toda la vida Que tengan su vida. Vida del propietario.
Objeto hijo Todos los objetos secundarios son independientes. Los objetos secundarios pertenecen a un solo padre.

Ejemplo de composición

La carpeta puede contener muchos archivos, mientras que cada archivo tiene exactamente una carpeta principal. Si se elimina una carpeta, también se eliminan todos los archivos contenidos. En una agregación compuesta, un objeto puede ser parte de un solo compuesto a la vez.

Agregación de ejemplo

Por ejemplo, su automóvil consta de ruedas, motor, caja de cambios, dirección y el cuerpo principal, etc. Es un conjunto y las otras partes son sus componentes.

Aquí, automóvil a la rueda es una agregación, automóvil al motor es otra agregación, automóvil a la caja de cambios otra, y así sucesivamente.

Este tipo de emparejamiento le ayuda a definir la multiplicidad de la parte constituyente dentro del ensamblaje como su resultado. También se puede representar el número de objetos.

Un automóvil necesita una rueda para funcionar correctamente. Sin embargo, no podemos decir lo mismo de un coche. La misma lógica se puede aplicar a una bicicleta, bicicleta o cualquier otro vehículo, pero no a un automóvil en particular.

Aquí, el objeto rueda es significativo incluso sin el objeto automóvil. Se conoce como relación de agregación.

Diferencia entre agregación y composición

Aquí está la principal diferencia entre agregación y composición:

Agregación Composición
La agregación es un tipo de asociación entre dos objetos que también describe la relación "tener una". La composición es un tipo específico de agregación que implica propiedad.
La agregación se indica mediante una línea recta con una punta de flecha vacía en un extremo. La composición se indica mediante una línea recta con una punta de flecha rellena en cualquiera de los extremos.
La agregación es parte de una relación de asociación. La composición es parte de una relación de asociación.
La agregación se considera un tipo de asociación débil. La composición se considera un tipo de asociación fuerte.
En una relación de agregación, los objetos que están asociados entre sí pueden permanecer en el alcance de un sistema sin los demás. En una relación de composición, los objetos que están asociados entre sí no pueden permanecer en el ámbito sin los demás.
En Agregación, los objetos vinculados no dependen del otro objeto. En composición, los objetos dependen en gran medida unos de otros.
En Agregación, eliminar un solo elemento no afecta a otro elemento asociado. En la composición, la eliminación de un solo elemento afecta a otro elemento asociado.
Ejemplo: un automóvil necesita una rueda, pero no siempre requiere la misma rueda. Un automóvil también puede funcionar adecuadamente con otra rueda. Ejemplo: un archivo se coloca dentro de la carpeta. Si uno elimina la carpeta, también se elimina el archivo asociado con esa carpeta dada.
En Agregación, relación principal con la entidad secundaria. En composición, la entidad matriz es propietaria de la entidad secundaria.
Se denota con un diamante relleno. Se denota con un diamante vacío.
El niño no tiene toda la vida. El niño puede tener toda la vida.
Está representado por un diamante hueco junto a la clase de montaje. Está representado por un diamante macizo junto a la clase de ensamblaje.
La eliminación del ensamblaje nunca afecta a sus partes. En el caso de poseer una clase, el objeto se elimina. También afecta al objeto de clase que lo contiene.