Modelo Clase
La agregación y la composición son dos conceptos
importantes en el modelado de diagramas de clases en UML (Unified Modeling
Language). Ambos conceptos se refieren a relaciones entre objetos, pero tienen
diferencias clave en términos de propiedad y ciclo de vida.
Agregación
La agregación es una relación entre objetos que
representa una asociación "parte-todo" en la que las partes pueden
existir independientemente del todo. En otras palabras, los objetos
"parte" pueden vivir fuera del objeto "todo" y no son destruidos
cuando el objeto "todo" es destruido.
Definición:
- Agregación: Una relación en la que un objeto
(el contenedor) está compuesto por otros objetos (los contenidos), pero
donde los contenidos pueden existir independientemente del contenedor. Se
denota con una línea con un rombo vacío en el extremo del contenedor.
Ejemplo gráfico de Agregación:
Consideremos un ejemplo de un Departamento y Empleados.
Un departamento puede tener múltiples empleados, pero los empleados pueden
existir sin el departamento.
+----------------+ +-------------+
|
Departamento |<>----------|
Empleado |
+----------------+ +-------------+
|
nombre | | nombre |
+----------------+ +-------------+
Composición
La composición es una relación más fuerte que la
agregación. Representa una asociación "parte-todo" en la que las
partes no pueden existir independientemente del todo. Si el objeto
"todo" es destruido, todas las partes también son destruidas.
Definición:
- Composición: Una relación en la que un objeto
(el contenedor) está compuesto por otros objetos (los contenidos), y donde
los contenidos no pueden existir independientemente del contenedor. Se
denota con una línea con un rombo sólido en el extremo del contenedor.
Ejemplo gráfico de Composición:
Consideremos un ejemplo de una Casa y Habitaciones.
Una casa puede tener múltiples habitaciones, pero las habitaciones no pueden
existir sin la casa.
+------------+ +------------+
| Casa |■----------| Habitación |
+------------+ +------------+
|
dirección | | tamaño |
+------------+ +------------+
Estos diagramas ayudan a visualizar las relaciones
y restricciones entre diferentes clases en un sistema, permitiendo un diseño
más claro y estructurado.
Comentarios
Publicar un comentario