Date Added: Jun 2009
Relationships between objects are almost as important to designs as the objects themselves. Most programming languages do not support relationships well, so programmers must implement relationships in terms of more primitive constructs. This paper presents a selection of proto-patterns which describe how aspects can be used to model relationships within programs. By using these patterns, programs and designs can be made smaller, more flexible, and easier to understand and maintain. Early programming languages provided little support for representing either objects or the relationships between them. FORTRAN, for example, began with integers, reals, and arrays; COBOL and Algol offered a great advance by adding a range of string data types and records.