Patterns of Association Objects

Home - About » Computer Science - Programming - Business Patterns
Computer Science
Research, Industry Work,
Programming
Community Service
Hillside Group, CHOOSE,
Stanford GSA
The Serious Side
Business School,
Learning Chinese
Humorous Takes
Switzerland, United States,
Software, Fun Photos
Travel Stories
Europe, United States, Asia
  
Living Places
Berlin (+ Gallery), Zürich
Boston, S.F. + Bay Area

(C) 1997 Lorrie Boyd, AMS Inc. Presented with kind permission.

Abstract

There are two main types of persistent objects in large scale business systems: static and association objects. Static objects represent tangible items that contain inherent identifying characteristics over their lifetime. Examples of static objects are product, customer and employee. Association objects represent something that happens at a point in time, associating two other objects. The objects being associated may be either static objects or other association objects. Association objects have attributes inherent in the relationship such as date, time or cost, which change when a new association is formed. Examples of association objects are order, customer contact, and assignment.

Table of Contents

Introduction

"Find the nouns" the experienced OO designer tells the eager beginners as they start their first large scale OO business system development. That's how to find objects.

Or, that's how to find the easy-to-find objects. Tangible nouns, like employee and product, are static objects, are easy to identify, and are rarely missed during analysis. There are other objects, however, called association objects, which are more difficult to find because they are less tangible and are not as easily recognizable as nouns. Some associations, such as Order, have tangible representations. Other associations, such as Customer Contact, are more intangible.

First, this paper discusses the association object pattern. This pattern is often used to represent assignments or schedules. This association object acts as a time-box and allows planned, historical and current states to be captured in one object.

Then, a specific use of the association object pattern, the customer contact pattern, is discussed. This pattern allows tracking historical customer contacts and projection of future contacts. This is needed as systems move from operational support to customer care.

Finally, the association pattern is used to solve a recurring business problem--the need for a complex yet flexible order structure, captured as the three-level order pattern. With multiple, recursive uses of the association object, the pattern captures multiple behavior of order requests and order costs within the behavior of the order's rules.

[ Up | Next ]

Copyright (©) 2007 Dirk Riehle. Some rights reserved. (Creative Commons License BY-NC-SA.) Original Web Location: http://www.riehle.org