|
|
(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 ]
|
|
|