Mock: Avoiding Circular Dependencies

(Imagen: Diapostitivas del curso de IBM)

Which statement is true about circular dependencies?

A. They do not matter
B. They are prohibited
C. They must be avoided
D. When there are more than two packages, they are irrelevant

Es deseable que una jerarquía de paquetes sea acíclica. Esto significa que debe evitarse la siguiente situación (de ser posible):
  • El paquete A usa el paquete B, que a su vez usa al paquete A
Si existe uan dependencia circular entre el paquete A y el paquete B, un cambio en el paquete A provocaría un cambio en el paquete B, que a su vez generaría un cambio en el paquete A, etc. Una dependencia circular entre los paquetes A y B significa que deben tratarse como un sólo paquete.

Los círculos con más de dos paquetes también deben evitarse. Por ejemplo, el paquete A usa el paquete B, que utiliza el paquete C que utiliza al paquete A.

Las dependencias circulares pueden romperse al dividir uno de los paquetes en dos paquetes más pequeños. En el ejemplo de la imagen, los elementos del paquete A que eran necesitados por otros paquetes fueron colocados en su propio paquete, A', y se añadieron las dependencias del caso.

Por lo que concluímos que la alternativa C es acertada.

Basado en el material del curso DEV475: Mastering Object-Oriented Analysis and Design with UML 2.0

Pregunta tomada de Elite Certify

Publicar un comentario