!--a11y-->
Use DependenciesUsing a development object is allowed if it is named in a public part of its component and a dependency to this public part has been declared. Note that dependencies are declared between components, even though the development objects are actually used.

In the following figure, a Java class Y in component B wants to implement an interface X in the public part of component A. This is possible because component B declares a use relation to public part ppA to which X belongs.
Note that usage relations are ordinary dependencies and, therefore, must obey the usual visibility rules. The class Z in the figure, for example, is not usable for Y.

Using a development object of another DC.

Declaring a dependency between components is a
necessary prerequisite for using a public development object in the public
part of another component, but that alone is not enough. In the example above, according to the
Java syntax, Y would have to explicitly import X with the
”import X” statement, before the implementation could be
executed.
With a use
dependency, you declare your intention of wanting to use a component; the use
dependency does not execute this use concretely (this usually depends on the
technology of the participating objects). For more information, see
Purposes of Public
Parts.
