Existen cuatro opciones para crear un vínculo de comunicación hacia un objeto proveedor:
- Global: El objeto proveedor es un objeto global
- Parámetro: El objeto proveedor es un parámetro de, o el tipo de retorno de una operación en el objeto cliente
- Local: El objeto proveedor es declarado localmente (o sea, creado temporalmente durante la ejecución de la operación)
- Campo: El objeto proveedor es un miembro del objeto cliente
Es necesario observar cada relación de asociación para determinar si debe permanecer como asociación o transformarse en dependencia. Las asociaciones y las agregaciones son relaciones estructurales (visibilidad de campo). Las relaciones de asociación son realizadas por variables que existen como miembros de la definición de clase. Cualquier otra relación (visibilidad global, local o de parámetro) es una relación de dependencia.
Basado en el material del curso DEV475: Mastering Object-Oriented Analysis and Design with UML 2.0