By: J. Noble
Published in: PLoPD4
Summary: How objects can model relationships in programs.
To design a small, simple, one-to-one relationship, make an attribute to represent the relationship.
Use a relationship object to represent a large, complex relationship.
Use a Collection to design a one-to-many relationship.
To design a globally important one-to-one relationship, make an active value, an object that reifies a single variable. It should have an attribute to hold the variable's value with an accessor and a set method.
To represent a two-way relationship, make a consistent set of one-way relationships.