Chapter 7. Bidirectional Associations

Table of Contents
1. Inverse Reference Properties
2. Making an OO Class Model
2.1. The basic procedure
2.2. How to eliminate unidirectional associations
2.3. How to eliminate bidirectional associations
2.4. The resulting OO class model

In OO modeling and programming, a bidirectional association is an association that is represented as a pair of mutually inverse reference properties, which allow `navigation´ (object access) in both directions.

The model shown in Figure 7.1 below (about publishers, books and their authors) serves as our running example. Notice that it contains two bidirectional associations, as indicated by the ownership dots at both association ends.

Figure 7.1. The Publisher-Book-Author information design model with two bidirectional associations
The Publisher-Book-Author information design model with two bidirectional associations