Directriz: Dependencia de importación de diseño
La dependencia de importación es una relación entre paquetes. En esta directriz se explica esta relación.
Relaciones
Elementos relacionados
Descripción principal

Explicación

Manejar las dependencias de importación es un aspecto importante de la estructuración de un modelo de objeto. Un paquete depende de otro si cualquiera de sus clases tiene relaciones que son navegables a clases del otro paquete. Para expresar tales dependencias, utilice la dependencia de importación de un paquete al paquete del que depende.

Diagrama que muestra las relaciones entre un componente y un operador, una alarma y la impresora, un cliente y un elemento de depósito.

Las dependencias entre paquetes se expresan con dependencia de importación.

Utilización

Las dependencias de importación se evolucionan del modo siguiente:

  • Antes de empezar a trabajar con el modelo de objeto, realice esquematizaciones de las dependencias para utilizarlas como modelo de objeto durante el trabajo.
  • Cuando se completa el modelo, utilícelo para mostrar las dependencias reales. Esto conlleva la actualización de las dependencias de importación en el modelo de objeto.
  • Si ha dividido el modelo en paquetes anteriormente, utilice las dependencias de importación para mostrar dónde se permiten las dependencias.
  • El modo en que los paquetes dependen de otros afecta a la tolerancia del sistema a los cambios. Un modelo de objeto será más fácil de cambiar si:
  • Hace referencia a un número mínimo de clases contenidas a partir del exterior de cada paquete. Si hace referencia a muchas clases, el paquete puede tener demasiadas responsabilidades diferentes y debe dividirse en dos.
  • Haga que cada paquete dependa de otros paquetes.
  • Pruebe cada paquete por separado. Esto significa que debe poder probar un paquete simulando el paquete del que depende. No debe necesitar otros paquetes para estar completamente o casi totalmente implementado. Si puede probar un paquete por separado, el desarrollo del sistema y el mantenimiento de cada paquete será más sencillo.
  • Coloque los componentes generales del modelo de objeto en paquetes separados de que dependen otros paquetes. Si existe tal paquete, preste mucha atención al manejo del release, ya que muchos componentes del sistema pueden verse afectados por los cambios del paquete.

Ejemplo

Imagine que encuentra algo en común entre las clases Panel de cliente y Panel de operador en la máquina de reciclaje. Asigna estos servicios generales a una nueva clase, Panel que coloca en un nuevo paquete, Paneles. Las otras dos clases pueden hacer referencia a esta clase para utilizar servicios generales. Como las clases pertenecen a dos paquetes separados, los dos paquetes dependerán del nuevo paquete. Esta eliminación de redundancia implica que los cambios en la funcionalidad común sólo necesitan realizarse en un lugar.