Design Notes

Downsizing

The functionality contained in this subsystem could have been rolled into a single class. However, each of the current classes performs a specific and unique set of operations. Not all these operations are applicable in all situations. If all the functionality were rolled into one class, a mechanism would be needed to determine which operations are available. With the current set of classes, a client can simply refuse to create inapplicable target types. For example, a read-only document component would not create insertion targets.

Coordinating coordinates

The Mapping and Feedback subsystems are kept simple by enabling them to chose their own coordinate systems. Unfortunately, there is no guarantee that the MFeedbacker and MSelectionMapping held by the target use the same coordinate system.

It is important not to burden the client of the target subsystem with the chore of dealing with multiple coordinate systems. For this reason selection targets expose only one of the coordinate systems to their clients and perform all necessary coordinate conversions internally. Unlike the Mapping and Feedback subsystems, the Target subsystem is static (clients are unlikely to derive).


[Contents] [Previous] [Next]
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.

Generated with WebMaker