liveBook · Manning

Usage relation

As explained in Data-Oriented Programming: Reduce software complexity

A usage relation indicates that one class or object uses a method or capability of another class or object.

A usage relation shows that one class or object uses a method or capability provided by another. In UML, it appears as a dashed arrow. For example, Librarian::blockMember calls Member::block. section 1.1.2

Figure 1.4 Usage relation: a class uses a method of another class.

Use the figure to distinguish a usage relation from association, composition, and inheritance by its dashed arrow. section 1.1.2

Data-oriented programming restricts module relationships to usage: stateless modules use code from other modules, with no association, composition, or inheritance. This constraint makes module diagrams easier to understand. section 2.4

How Data-Oriented Programming: Reduce software complexity covers it

How deep it goes
Defines the UML notation and gives one method-call example, then contrasts usage with other relations without detailing implementation internals.
Examples
Uses Librarian::blockMember calling Member::block and diagrams showing dashed arrows between dependent elements.
What it assumes
Assumes familiarity with classes, methods, and basic UML relation symbols while distinguishing usage from association, composition, and inheritance.
What you can do after
Apply dashed arrows to represent method-use dependencies and recognize usage-only relationships in DOP module diagrams.
How it connects
Connects usage relations with association, composition, inheritance, stateless functions, modules, and polymorphism.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Data-Oriented Programming: Reduce software complexity. The section links point to the parts of the book it draws on.